@gage Используйте ->diff() метод у DateTime() объекта чтобы вычесть из одного времени другое в PHP, ниже код как пример:
1 2 3 4 5 6 7 8 |
<?php $now = new DateTime(); $yesterday = new DateTime('-24 hours'); $diff = $now->diff($yesterday); // Вывод: 0 дней, 23 часов, 59 минут, 59 секунд printf('%d дней, %d часов, %d минут, %d секунд', $diff->d, $diff->h, $diff->i, $diff->s); |
@gage
Вы можете вычислить разницу между двумя временными метками в PHP с помощью функции strtotime()
и оператора вычитания -
.
Вот пример кода, который вычитает из одного времени другое и выводит результат в формате часов, минут и секунд:
1 2 3 4 5 6 7 8 9 10 |
$time1 = strtotime('12:30:00'); // первое время $time2 = strtotime('10:15:30'); // второе время $diff = $time1 - $time2; // разница в секундах // преобразование разницы в часы, минуты и секунды $hours = floor($diff / 3600); $minutes = floor(($diff - $hours * 3600) / 60); $seconds = $diff - $hours * 3600 - $minutes * 60; echo "$hours часов $minutes минут $seconds секунд"; |
В результате выполнения этого кода будет выведено 2 часа 14 минут 30 секунд
, что является разницей между 12:30:00 и 10:15:30.
Обратите внимание, что функция strtotime()
преобразует строку с временем в число, представляющее количество секунд с начала эпохи Unix (1 января 1970 года 00:00:00 UTC). В результате оператора вычитания -
вы получите разницу между двумя временными метками в секундах.