计算固定小时的时差

Mik*_*ike 1 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);
Run Code Online (Sandbox Code Playgroud)

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

lau*_*ent 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');
Run Code Online (Sandbox Code Playgroud)