<?php echo date(“H:i:s”,0);?>的行为

我用了 :

<?php 
echo date("H:i:s", $var_time_diff);
?>

在两个日期之间建立一个时间..而在我的脑海中它是
$var_time_diff = 36000 =显示10:00:00 10小时.

但实际上

<?php echo date("H:i:s", 0);?> 

显示01:00:00而不是00:00:00.

所以我们有

$date_a = "18:15:04";
$date_b = "23:15:04";
$diff = strtotime($date_b) - strtotime($date_a);

一切都好,$diff是5小时但是如果我们显示这样的日期:

echo date("H:i:s", $diff);

它将是“06:00:00”.

所以我的php配置有问题,或者这是php函数日期的正常行为?

解决方法:

date()函数使用您当前的时区.如果要忽略已配置的时区,请使用date_default_timezone_set()或使用gmdate().

上一篇:如何在PHP中获得两天之间的差异


下一篇:PHP将日期间隔diff转换为十进制