在php中显示小时:分钟:秒:毫秒
Posted
技术标签:
【中文标题】在php中显示小时:分钟:秒:毫秒【英文标题】:show hours:minutes:seconds:milliseconds in php 【发布时间】:2013-01-16 23:02:54 【问题描述】:您好,我正在尝试花费总秒数,即 972 秒并将其转换为这种格式:
分:秒:毫秒
我找不到诸如 gmdate() 之类的 php 函数来帮助我转换它。请帮忙!
谢谢。
【问题讨论】:
你打算如何从秒中得到毫秒? 我认为答案可能就在这个问题中。 [***.com/questions/4763668/…[1]:***.com/questions/4763668/… 这个答案也可能很有价值:***.com/a/37336227/1748266(无耻的插件...) 【参考方案1】:这适用于 PHP 5 >= 5.3.0
$date = DateTime::createFromFormat('U.u', microtime(TRUE));
var_dump($date->format('Y-m-d H:i:s.u'));
来自DateTime with microseconds
手册:http://php.net/manual/de/datetime.createfromformat.php
【讨论】:
【参考方案2】:在:http://php.net/manual/en/function.date.php 中可以使用格式:date("i:s:u");在 PHP > 5.2.2 中,
i: minutes, s:seconds, u:microseconds 并在第二个参数中使用时间戳来设置你所说的 972 seconds -> 0:972:0 但是如果你只想要毫秒,我认为你必须操纵结果字符串与 substr,...
【讨论】:
以该格式显示,但它没有返回精确的毫秒值。所以我尝试了: echo date("i:s:u", 972);它返回:16:12:000000 是的,我也有这个问题,还没有找到解决方法。 :( 来自手册:Microseconds (added in PHP 5.2.2). Note that date() will always generate 000000 since it takes an integer parameter, whereas DateTime::format() does support microseconds if DateTime was created with microseconds.
(可能会在这个问题之后添加)【参考方案3】:
试试这个
$second = "123456789"
$s = $second%60;
$m = floor(($second%3600)/60);
$h = floor(($second%86400)/3600);
$d = floor(($second%2592000)/86400);
$M = floor($second/2592000);
echo "$M months, $d days, $h hours, $m minutes, $s seconds";
【讨论】:
这个答案缺少教育解释。以上是关于在php中显示小时:分钟:秒:毫秒的主要内容,如果未能解决你的问题,请参考以下文章
PHP将DATETIME转换为时间前函数,秒,分钟,小时,天等[重复]