php中两对日期之间的差异

php中两对日期之间的差异,php,date,difference,Php,Date,Difference,我想知道两次约会的区别。不幸的是,我只得到整数,而没有按要求格式化。我试过几种方法,但都不走运。我需要从$TactInterval中扣除$HoldInterval,但系统出现错误。 下面是我的代码,它不能按要求工作。 我收到的请求是2而不是02h30m。请告知问题所在。谢谢 $hd1 = new Datetime('2016-10-18 08:30:00'); $hd2 = new Datetime('2016-10-18 12:00:00'); $HoldInterval = $hd2->

我想知道两次约会的区别。不幸的是,我只得到整数,而没有按要求格式化。我试过几种方法,但都不走运。我需要从$TactInterval中扣除$HoldInterval,但系统出现错误。 下面是我的代码,它不能按要求工作。 我收到的请求是2而不是02h30m。请告知问题所在。谢谢

$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>";
$hd1=新日期时间('2016-10-18 08:30:00');
$hd2=新日期时间('2016-10-18 12:00:00');
$HoldInterval=$hd2->diff($hd1);
$d1=新日期时间('2016-10-18 09:00:00');
$d2=新日期时间('2016-10-18 10:00:00');
$tractInterval=$d2->diff($d1);
//$interval=$tractInterval-$HoldInterval);//这不起作用。。。。
$dt1=$TactInterval->格式(“%Hh%Im”);
$dt2=$HoldInterval->格式(“%Hh%Im”);
echo$dt1.“
”; echo$dt2.“
”; $dt3=$dt2-$dt1;//这是工作,但只有一个整数显示。它显示为02h30m。 //$dt4=$dt3->格式(“%Hh%Im”);//格式化时不起作用。 echo$dt3.“
”;


谢谢您的回复。这是一个很大的帮助。我可以问一下,这段代码如何使用过程性的?谢谢你的回复。这是一个很大的帮助。我可以问一下,这段代码如何使用过程性的?
$s = new DateTime();
$e = new DateTime();
$s->add($HoldInterval);
$e->add($TactInterval);
$diff = $e->diff($s);
echo $diff->format('%Hh%Im');