$diff = strtotime(12:00:00) - strtotime(5:01:29);
echo date('H:i:s', $diff);
результат 12:01:29
Попытка получить результат 5 ч. 1 мин. 29 сек.
Я предпочитаю использовать DateTime
класс для сравнения времени / сложения / вычитания:
$dt1 = new DateTime();
$dt1->setTimestamp(strtotime('12:00:00am'));
$dt2 = new DateTime();
$dt2->setTimestamp(strtotime('5:01:29am'));
$interval = $dt1->diff($dt2);
echo $interval->format('%h hrs %i min %s sec');
Редактировать: с форматом, который вы указали в strtotime, он думал 5:01 до 12:00 — так что он давал совсем другой ответ, чем вы хотели, поэтому вам нужно указать am / pm
Других решений пока нет …