2016-10-26 5 views
0

私は2つの日付の違いを取得しようとしていました。残念ながら私は整数だけを取得し、必要に応じてフォーマットしません。私はいくつかの方法を試みましたが、運はありません。 $ TactIntervalから$ HoldIntervalを差し引く必要がありますが、システムにエラーが発生します。 以下は必要に応じて動作しない私のコードです。 私は02h30mの代わりに2の要求を受け取ります。問題が何かアドバイスしてください。ありがとう。PHPの日付の2つのペアの違い

$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

関連する問題