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


How to use gmdate() to display more than 24 hours, but not days

我想显示这样的时间

80:00:00

小时:分钟:秒

当我使用这个

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

它显示

08:00:00

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

我试过这个

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

但这会显示。

32:00:00

我从堆栈溢出的其他地方了解到这可能是因为夏令时。看这里。

将天数从 gmdate() 转换为小时?

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

试试这个,对我有用:

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

-1 很重要,因为当天是 $ 时间 = 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());
}
?>

希望这有帮助。 如果没有评论并告诉我这是否不是您想要的