Получение разницы во времени между двумя раз в PHP

Возможный дубликат:
Как получить разницу во времени в минутах в PHP

Я работаю над таблицей посещаемости для расчета поздних и очень поздних сотрудников. Я сохраняю время входа в таблицу (Тип: время). Я могу получить время из базы данных, и я хотел бы показать разницу во времени в отдельном столбце.

т.е. если сотрудник вошел в систему или до 09:00:59 , тогда его правильное время и 09:00:59 времени должны быть указаны как null. Если он входит в систему после времени, то есть 09:01:00 или позже, разница во времени должна быть 00:00:01 . Как мудрый мне нужно рассчитать разницу во времени.

Одно время является постоянным, т.е. 09:00:59 а другое – из таблицы базы данных. Необходимо получить разницу между обоими. Я работаю в PHP. Надеюсь, мой вопрос ясен.

Заранее спасибо.

Solutions Collecting From Web of "Получение разницы во времени между двумя раз в PHP"

Вы можете использовать strtotime () для вычисления времени. Вот пример:

 $checkTime = strtotime('09:00:59'); echo 'Check Time : '.date('H:i:s', $checkTime); echo '<hr>'; $loginTime = strtotime('09:01:00'); $diff = $checkTime - $loginTime; echo 'Login Time : '.date('H:i:s', $loginTime).'<br>'; echo ($diff < 0)? 'Late!' : 'Right time!'; echo '<br>'; echo 'Time diff in sec: '.abs($diff); echo '<hr>'; $loginTime = strtotime('09:00:59'); $diff = $checkTime - $loginTime; echo 'Login Time : '.date('H:i:s', $loginTime).'<br>'; echo ($diff < 0)? 'Late!' : 'Right time!'; echo '<hr>'; $loginTime = strtotime('09:00:00'); $diff = $checkTime - $loginTime; echo 'Login Time : '.date('H:i:s', $loginTime).'<br>'; echo ($diff < 0)? 'Late!' : 'Right time!'; 

демонстрация

Проверьте уже заданный вопрос – как получить разницу во времени в минутах :

Вычтите последний из самых лучших из будущего – самый первый и разделите на 60.

Времена сделаны в унифицированном формате, поэтому они представляют собой просто большое число, показывающее количество секунд с 1 января 1970 года 00:00:00 GMT

Вы также можете использовать класс DateTime :

 $time1 = new DateTime('09:00:59'); $time2 = new DateTime('09:01:00'); $interval = $time1->diff($time2); echo $interval->format('%s second(s)'); 

Результат:

 1 second(s) 
 <?php $start = strtotime("12:00"); $end = // Run query to get datetime value from db $elapsed = $end - $start; echo date("H:i", $elapsed); ?>