Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/274.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 计算固定小时的时差_Php_Datetime - Fatal编程技术网

Php 计算固定小时的时差

Php 计算固定小时的时差,php,datetime,Php,Datetime,我想计算一下从现在18:30到今晚20点的时差 $today = date('Y-m-d', time()); $remain = strtotime($today. " 00:00:00 + 20 hours") - time(); $remain = date('H:i:s', $remain); 我得到的结果是02:30:00比实际结果01:30:00大一个小时。我尝试过设置时区,但结果总是一样的。使用DateTime对象,您可以轻松做到这一点: $d1 = new DateTime('

我想计算一下从现在18:30到今晚20点的时差

$today = date('Y-m-d', time());
$remain = strtotime($today. " 00:00:00 + 20 hours") - time();
$remain = date('H:i:s', $remain);
我得到的结果是02:30:00比实际结果01:30:00大一个小时。我尝试过设置时区,但结果总是一样的。

使用DateTime对象,您可以轻松做到这一点:

$d1 = new DateTime('2015-04-23 18:30');
$d2 = new DateTime('2015-04-23 20:00');
$interval = $d2->diff($d1);
echo $interval->format('%H:%i hours');
使用DateTime对象,您可以轻松地执行以下操作:

$d1 = new DateTime('2015-04-23 18:30');
$d2 = new DateTime('2015-04-23 20:00');
$interval = $d2->diff($d1);
echo $interval->format('%H:%i hours');

考虑使用DATETIME对象。使用类库,使生活更容易。$留存最初是两个时间戳之间的秒数。它不是时间戳。因此,当您将其视为时间戳时,您的时区将改变它。只需考虑几秒钟。除以60得到分钟。除以60以获得小时。考虑使用DATETIME对象。使用类库并使生活更容易。$留存最初是两个时间戳之间的秒数。它不是时间戳。因此,当您将其视为时间戳时,您的时区将改变它。只需考虑几秒钟。除以60得到分钟。除以60得到小时数。非常有趣。如果我遵循kainaws的建议,我只需几分钟就可以得到正确的结果。这个方法给了我精确的结果。非常有趣。如果我遵循kainaws的建议,我只需几分钟就可以得到正确的结果。这个方法给了我精确的结果。