Я думаю, вы должны использовать метку времени Unix при расчете разницы дат.
См. Ниже
$start_time= date("U", time());
sleep(5); //stops execution for 5 seconds
$endtime = date("U",time());
echo date("G:i:s",$endtime - $start_time); //Outputs 0:00:05
или что-то в этом роде для фактических различий даты и времени
$start_time= date("U", strtotime("11/11/11 12:53"));
$endtime = date("U",strtotime("11/11/11 12:59"));
echo date("G:i:s",$endtime - $start_time);
Выходы 0:06:00
6 минут