我有13位数字,想要创建日期和时间与包括毫秒
示例代码如下:这是我的php脚本
$mil = 1328910295939;
$seconds = $mil / 1000;
$showdate = date('Y:m:d H:i:s', $seconds) ;
echo "$showdate";结果是2012:02:10 15:44:55.xxx ===> xxx是我想要显示的3位毫秒数。
以及如何包含H:i:s后的3位毫秒
请帮帮我……
发布于 2012-02-12 04:39:49
像这样怎么样?
$mil = 1328910295939;
function toTimestamp($milliseconds)
{
$seconds = $milliseconds / 1000;
$remainder = round($seconds - ($seconds >> 0), 3) * 1000;
return date('Y:m:d H:i:s.', $seconds).$remainder;
}
echo toTimestamp($mil);泰达!
它也应该相当快。
此外,这是输出:2012:02:10 15:44:55.939 -为什么您不使用-用于分隔日期部分。
发布于 2012-02-12 02:31:26
只需去掉最后两个字符:
substr(date('Y-m-d H:i:s.u',1328910295939), 0, -2)发布于 2012-02-12 02:50:51
以下是一个函数,它将为您准确地完成此操作(通过四舍五入,而不是截断):
function getTimestamp()
{
$microtime = floatval(substr((string)microtime(), 1, 8));
$rounded = round($microtime, 3);
return date("Y-m-d H:i:s") . substr((string)$rounded, 1, strlen($rounded));
}解释:
microtime()以1个字符串的形式返回2个数字,以空格分隔。第二个数字是自unix时代以来的秒数,第一个数字是自第二个数字以来的微秒数。基本上,第一个数字是以8精度格式(0.00000000)表示的微秒数,尾随的0永远不会被截断。
我们将其舍入为精度3 (0.00),并截断前导0,并将其附加到实际的时间戳中。
由于某些原因,u的php文档,微秒,似乎实际上并不支持。每次使用这种方法时,我都会得到0.000。所以我求助于microtime()作为备份解决方案。
https://stackoverflow.com/questions/9242840
复制相似问题