Посмотрите на PHP DateTime
объект .
$dateA = new DateTime('2:00');
$dateB = new DateTime('3:00');
$difference = $dateA->diff($dateB);
(при условии, что у вас> = PHP 5.3)
Вы также можете сделать это процедурным способом...
$dateA = strtotime('2:00');
$dateB = strtotime('3:00');
$difference = $dateB - $dateA;
См. Это на CodePad.org .
Вы можете получить смещение часов следующим образом ...
$hours = $difference / 3600;
Если вы имеете дело со временем, которое находится в промежутке между 24-часовым периодом (0:00 - 23:59), вы можете также сделать ...
$hours = (int) date('g', $difference);
Хотя это, вероятно, слишком негибко, чтобы его можно было реализовать.