如何使用gmdate()显示超过24小时,但不是几天

时间:2015-01-09 14:16:18

标签: php datetime

我想要显示这样的时间

80:00:00

小时:分钟:秒

当我使用这个

gmdate("H:i:s", $time)

显示

08:00:00

gmdate()一旦达到24小时显示0,再次开始计数到24。

我试过这个

$minsec = gmdate("i:s", $time);
$hours = gmdate("d", $time)*24 + gmdate("H", $time);
echo $hours.':'.$minsec;

但是显示出来了。

32:00:00

我从其他地方了解stackoverflow,这可能是因为夏令时。见这里。

Convert days from gmdate() into hours?

我没有找到任何好的解决方案。什么是这个问题的一致的功能解决方案。

2 个答案:

答案 0 :(得分:1)

我认为这就是你要做的事情,这对我有用:

<?php
$hour = gmdate("H", time());
if($hour < 10) {
echo gmdate("0H:i:s", time()); // you can just add a 0 in front of the hour if it is less than 10
}
else {
echo gmdate("H:i:s", time());
}
?>
希望这会有所帮助。如果没有评论并告诉我这是不是你想要的

答案 1 :(得分:0)

试试这个,对我有用:

$minsec = gmdate("i:s", $time);    
$hours = (gmdate("d", $time)-1)*24 + gmdate("H", $time);    
echo $hours.':'.$minsec;

-1很重要,因为当$ time = 1秒时,这一天就是一天。 我不知道为什么,一定是因为总有一天。

相关问题