如何格式化这样一个时间? $t = gettimeofday();echo date('Y-m-d H:i:s.', $t['sec']).$t['usec']; 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个貌似很容易吧。不是直接用date就可以了吗?<?function format_mt($microtime){ $r_str=""; $microtime="".$microtime; $mt=explode(" ",$microtime); $r_str.=date("Y-m-d H:i:s.",0+$mt[1]); $r_str.=$mt[0]*100000000; return $r_str;}$m_t="0.68868800 1164435534";echo format_mt($m_t);?>输出:2006-11-25 06:18:54.68868800 如果用 microtime() 函数,则list($usec, sec) = explode(' ', microtime());echo date('Y-m-d H:i:s', $sec).substr($usec, 1); 但是有一个问题:就是 先 microtime(),再 date() 取得的时间很有可能不致!个人认为应该从 microtime() 后取得的值 0.68868800 1164435534 思考如何把整数 1164435534 变成 2006-11-25 14:18:54 胡说!date 函数的第二个参数缺省时,则取当前时间。否则就是传入的时间戳 唠叨说的是对的,勇者威廉说的有问题……saga104()的函数有问题,这个要自己看下了不过我实在是有点不明白这个啊如果用 microtime() 函数,则list($usec, sec) = explode(' ', microtime());echo date('Y-m-d H:i:s', $sec).substr($usec, 1);手册里面好像没有使用list ($usec,sec)这样的形势啊~只有list($usec,$sec)的形势啊以下是关于date的说明:返回值的字符串依配置的格式来决定。若有传入时间戳记值,则将时间戳记格式化返回;若无传入时间戳记值,则将目前服务器的时间格式化返回。要将日期转为其它的语系格式,应使用setlocale() 及 strftime() 二个函数。字符串格式化的选项如下:a - "am" 或是 "pm" A - "AM" 或是 "PM" d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31" D - 星期几,三个英文字母; 如: "Fri" F - 月份,英文全名; 如: "January" h - 12 小时制的小时; 如: "01" 至 "12" H - 24 小时制的小时; 如: "00" 至 "23" g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12" G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23" i - 分钟; 如: "00" 至 "59" j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31" l - 星期几,英文全名; 如: "Friday" m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12" n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12" M - 月份,三个英文字母; 如: "Jan" s - 秒; 如: "00" 至 "59" S - 字尾加英文序数,二个英文字母; 如: "th","nd" t - 指定月份的天数; 如: "28" 至 "31" U - 总秒数 w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六) Y - 年,四位数字; 如: "1999" y - 年,二位数字; 如: "99" z - 一年中的第几天; 如: "0" 至 "365" 其它不在上列的字符则直接列出该字符。 To: li1229363 我又看了一遍 PHP 文档资料,在 date() 函数中并没有微秒的参数。我想要的不过是一个有日期、时间和微秒的值,仅此而已。 使用 microtime() 函数,取得的值:0.68868800 1164435534。0.68868800表示的是微秒,而1164435534表示的是 2006-11-25 14:18:54。 所以我才有将 1164435534 转换成 2006-11-25 14:18:54 格式的想法。To:saga104 大家在这都是讨论问题、分析问题、解决问题的,有问题说嘛,不要骂人。现在天气干燥,火气不要那么大,容易引起火灾哦! ;) To: xuzuning(唠叨)$t = gettimeofday();echo date('Y-m-d H:i:s.', $t['sec']).$t['usec'];执行完 gettimeofday() 后,再执行 date() ,会存在时间差的问题,如何解决这个问题? 你指的“时间差”是什么?输出的是 gettimeofday() 时刻的时间,难道不对吗? 呵呵,支持 唠叨帮我解决过不少难题勇者威廉不要总是去想date,多关注一下gettimeofday() To:xuzuning(唠叨)“时间差”是指先执行 gettimeofday() 函数,获得一个时间值(如:2006-11-29 00:00:00);再执行 date() 函数,又获得一个值 (如:2006-11-29 00:00:01),再个值之间存在的差异。 不会出现这种情况,因为date里的输入时间是先前用gettimeofday() 函数取得的时间 呵呵,原来是理解错了。date() 取得是 gettimeofday() 里的值。 php+ajax按需多进程的问题 帮我看下关于jquery的代码! 以多个符号分割字符串 怎么取得南京市的所有的电信ip 般都是用CSV来导入EXECL数据,我能直接用XLS导入到PHP吗? 求一个简单正则怎么写? PHP 5.1.1 的日期函数是不是修改了呀?和实际日期整整相差8小时 怎 样实现汉字的声母排序 $_SESSION[property]=$pro;如果$pro是空值,$_SESSION[property]还会不会被注册? thinkphp 分页 checkbox状态保留 求代码 关于“||”的问题? 框架提交表单难题
不是直接用date就可以了吗?
<?
function format_mt($microtime)
{
$r_str="";
$microtime="".$microtime;
$mt=explode(" ",$microtime);
$r_str.=date("Y-m-d H:i:s.",0+$mt[1]);
$r_str.=$mt[0]*100000000;
return $r_str;
}
$m_t="0.68868800 1164435534";
echo format_mt($m_t);
?>输出:
2006-11-25 06:18:54.68868800
list($usec, sec) = explode(' ', microtime());
echo date('Y-m-d H:i:s', $sec).substr($usec, 1);
个人认为应该从 microtime() 后取得的值 0.68868800 1164435534 思考
如何把整数 1164435534 变成 2006-11-25 14:18:54
date 函数的第二个参数缺省时,则取当前时间。否则就是传入的时间戳
list($usec, sec) = explode(' ', microtime());
echo date('Y-m-d H:i:s', $sec).substr($usec, 1);手册里面好像没有使用list ($usec,sec)这样的形势啊~只有list($usec,$sec)的形势啊以下是关于date的说明:
返回值的字符串依配置的格式来决定。若有传入时间戳记值,则将时间戳记格式化返回;若无传入时间戳记值,则将目前服务器的时间格式化返回。要将日期转为其它的语系格式,应使用setlocale() 及 strftime() 二个函数。字符串格式化的选项如下:
a - "am" 或是 "pm"
A - "AM" 或是 "PM"
d - 几日,二位数字,若不足二位则前面补零; 如: "01" 至 "31"
D - 星期几,三个英文字母; 如: "Fri"
F - 月份,英文全名; 如: "January"
h - 12 小时制的小时; 如: "01" 至 "12"
H - 24 小时制的小时; 如: "00" 至 "23"
g - 12 小时制的小时,不足二位不补零; 如: "1" 至 12"
G - 24 小时制的小时,不足二位不补零; 如: "0" 至 "23"
i - 分钟; 如: "00" 至 "59"
j - 几日,二位数字,若不足二位不补零; 如: "1" 至 "31"
l - 星期几,英文全名; 如: "Friday"
m - 月份,二位数字,若不足二位则在前面补零; 如: "01" 至 "12"
n - 月份,二位数字,若不足二位则不补零; 如: "1" 至 "12"
M - 月份,三个英文字母; 如: "Jan"
s - 秒; 如: "00" 至 "59"
S - 字尾加英文序数,二个英文字母; 如: "th","nd"
t - 指定月份的天数; 如: "28" 至 "31"
U - 总秒数
w - 数字型的星期几,如: "0" (星期日) 至 "6" (星期六)
Y - 年,四位数字; 如: "1999"
y - 年,二位数字; 如: "99"
z - 一年中的第几天; 如: "0" 至 "365"
其它不在上列的字符则直接列出该字符。
我又看了一遍 PHP 文档资料,在 date() 函数中并没有微秒的参数。我想要的不过是一个有日期、时间和微秒的值,仅此而已。
使用 microtime() 函数,取得的值:0.68868800 1164435534。0.68868800表示的是微秒,而1164435534表示的是 2006-11-25 14:18:54。
所以我才有将 1164435534 转换成 2006-11-25 14:18:54 格式的想法。To:saga104
大家在这都是讨论问题、分析问题、解决问题的,有问题说嘛,不要骂人。现在天气干燥,火气不要那么大,容易引起火灾哦! ;)
echo date('Y-m-d H:i:s.', $t['sec']).$t['usec'];执行完 gettimeofday() 后,再执行 date() ,会存在时间差的问题,如何解决这个问题?
输出的是 gettimeofday() 时刻的时间,难道不对吗?
帮我解决过不少难题勇者威廉不要总是去想date,多关注一下gettimeofday()