计算固定小时的时差

时间:2015-04-23 14:27:32

标签: php datetime

我想计算从现在开始的时间差(比如18:30:00),直到今天晚上20点。

$today = date('Y-m-d', time());
$remain = strtotime($today. " 00:00:00 + 20 hours") - time();
$remain = date('H:i:s', $remain);

我得到的结果比实际结果(01:30:00)大一个小时(02:30:00)。我尝试设置时区,但结果总是一样。

1 个答案:

答案 0 :(得分:6)

使用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');