Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
<;的行为;?php回显日期(“H:i:s”,0)&燃气轮机;_Php_Date_Datediff - Fatal编程技术网

<;的行为;?php回显日期(“H:i:s”,0)&燃气轮机;

<;的行为;?php回显日期(“H:i:s”,0)&燃气轮机;,php,date,datediff,Php,Date,Datediff,我用过: <?php echo date("H:i:s", $var_time_diff); ?> 显示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 
echo date("H:i:s", $var_time_diff);
?>
显示
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\u default\u timezone\u set()。不过,我将按照这个问题进行更深入的解释

$date_a = "18:15:04";
$date_b = "23:15:04";
$diff = strtotime($date_b) - strtotime($date_a);
echo date("H:i:s", mktime(0,0,$diff));

编辑:啊,所以它会调整到您当前的时区,
mktime
,所以效果是否定的。

您所在的时区不是UTC。尝试:

<?php
date_default_timezone_set('UTC');
echo date("H:i:s",0) . "\n";

使用mktime和min 1表示小时@$diff

<?php
date_default_timezone_set('UTC');
echo date("H:i:s",0) . "\n";