2016-10-26 24 views
0

我试图得到两个日期之间的差异。不幸的是,我只能得到整数,而不是根据需要格式化。我尝试了几种方法,但没有运气。我需要从$ TactInterval中扣除$ HoldInterval,但系统出错。 以下是我的代码,不按要求工作。 我得到2而不是02h30m的请求。请告知问题所在。谢谢。两个日期在php中的区别

$hd1 = new Datetime('2016-10-18 08:30:00'); 
$hd2 = new Datetime('2016-10-18 12:00:00'); 
$HoldInterval = $hd2->diff($hd1); 

$d1 = new Datetime('2016-10-18 09:00:00'); 
$d2 = new Datetime('2016-10-18 10:00:00'); 
$TactInterval = $d2->diff($d1); 
//$interval = $TactInterval - $HoldInterval); // This is not working.... 

$dt1 = $TactInterval->format('%Hh%Im'); 
$dt2 = $HoldInterval->format('%Hh%Im'); 

echo $dt1."<br>"; 
echo $dt2."<br>"; 

$dt3 = $dt2 - $dt1; // This is working but only a whole number shows. it show be 02h30m. 

//$dt4 = $dt3->format('%Hh%Im'); // does not work when formated. 

echo $dt3."<br>"; 

回答

2
$s = new DateTime(); 
$e = new DateTime(); 
$s->add($HoldInterval); 
$e->add($TactInterval); 
$diff = $e->diff($s); 
echo $diff->format('%Hh%Im'); 

DEMO

+0

谢谢您的答复。这是一个很大的帮助。我可以问一下,这怎么能成为使用程序的代码? – Roggie