2016-10-26 2 views
0

Я пытался получить разницу между двумя датами. К сожалению, я получаю только целое число, а не отформатированное по мере необходимости. Я попробовал несколько способов, но не повезло. Мне нужно вычесть $ HoldInterval из $ TactInterval, но система получит ошибку. Ниже приведен код, который не работает по мере необходимости. Я получаю запрос 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

Смежные вопросы