在PHP中显示小时:分钟:秒:毫秒

4

您好,我想要将总秒数(972秒)转换成以下格式:

分:秒:毫秒

我找不到类似于gmdate()这样的PHP时间函数来帮助我进行转换。请帮忙!

谢谢。


3
你打算如何从秒中获取毫秒? - Glavić
我认为答案可能就在这个问题中:https://dev59.com/AW445IYBdhLWcg3wpL1_。 - Ian Brindley
这个答案也许也会有帮助:https://dev59.com/_lsX5IYBdhLWcg3whv7Q#37336227(毫不谦虚地推荐一下...) - MER
3个回答

4

1
尝试这个。
$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";

这个答案缺少教育性的解释。 - mickmackusa

1
http://php.net/manual/en/function.date.php中,你可以使用格式:date("i:s:u");在PHP > 5.2.2中,i代表分钟,s代表秒,u代表微秒。并且,你可以在第二个参数中使用一个时间戳来设置,比如你想设置972秒 -> 0:972:0。但是如果你只想要毫秒,我认为你需要使用substr函数来处理结果字符串...

1
返回的格式是正确的,但它没有返回准确的毫秒值。因此我尝试了:echo date("i:s:u", 972); 它返回的是:16:12:000000 - user1985436
我也遇到了这个问题,但还没有找到解决方法。:( - Bonxy
微秒(在PHP 5.2.2中添加)。请注意,date()始终会生成000000,因为它采用整数参数,而DateTime::format()如果使用微秒创建了DateTime,则支持微秒。 - PiTheNumber

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接