我想计算从现在开始的时间差(比如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)。我尝试设置时区,但结果总是一样。
答案 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');