Php 如何使用gmdate()显示24小时以上,而不是天

Php 如何使用gmdate()显示24小时以上,而不是天,php,datetime,Php,Datetime,我想展示一个这样的时间 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 我从stac

我想展示一个这样的时间

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
我从stackoverflow的其他地方了解到这可能是因为夏令时。看这里


我没有找到任何好的解决办法。对于这个问题,什么是一致的、功能性的解决方案。

我认为这就是您正在尝试做的,这对我很有用:

<?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());
}
?>
$minsec = gmdate("i:s", $time);    
$hours = (gmdate("d", $time)-1)*24 + gmdate("H", $time);    
echo $hours.':'.$minsec;


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

试试这个,对我有用:

<?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());
}
?>
$minsec = gmdate("i:s", $time);    
$hours = (gmdate("d", $time)-1)*24 + gmdate("H", $time);    
echo $hours.':'.$minsec;
-1很重要,因为当天的$time=1秒。
我不知道为什么,一定是因为总有一天。

不,那不是我的问题。如果是,小写的h可以给我前面的0。我希望能够显示25小时,而不是一天一小时。您不能只执行上面链接中共享的操作吗?它不会返回正确的时间,因为夏令时会将其搞糟