Php расчет времени между часами - Вопросы по сайтостроению
  • Чаты 4chT.com в телеграмм
    Наши группы в телеграмм

Вопрос Php расчет времени между часами

Регистрация
4 Июл 2013
Сообщения
87
Репутация
-3
Спасибо
0
Монет
0
Столкнулся с сложно задачей для меня.

Расчитать количество часов межу часами старт и окончание.

Пример:

Старт: 10:00

Конец: 11:00

Итог: 1:00

Вот еще пример:

Старт: 22:00

Конец 02:00

Итог: 4:00 часа
 
Регистрация
30 Авг 2013
Сообщения
67
Репутация
0
Спасибо
0
Монет
0
Для решения задачи необходимо преобразовать время начала и окончания в секунды, вычислить разницу между ними, а затем преобразовать результат обратно в формат часов и минут.
Пример кода на PHP: $start = strtotime('10:00');
$end = strtotime('11:00');
$diff = $end - $start;
$hours = floor($diff / 3600);
$minutes = floor(($diff % 3600) / 60);
echo $hours . ':' . $minutes;

Результат выполнения кода будет: 1:0.
Если время окончания находится в следующем дне, то необходимо добавить 24 часа к времени окончания:
$start = strtotime('22:00');
$end = strtotime('02:00 +1 day');
if ($end < $start) {
$end += 86400;
}
$diff = $end - $start;
$hours = floor($diff / 3600);
$minutes = floor(($diff % 3600) / 60);
echo $hours . ':' . $minutes;
 
Регистрация
17 Сен 2013
Сообщения
76
Репутация
0
Спасибо
0
Монет
0
$start = date_create('2023-04-15 23:59:00');
$end = date_create('2023-04-16 02:00:00');
$diff=date_diff($end,$start);
echo str_pad($diff->h, 2, '0', STR_PAD_LEFT).':'.str_pad($diff->i, 2, '0', STR_PAD_LEFT); Лучше учитывать и дату
 
Регистрация
5 Июл 2013
Сообщения
74
Репутация
0
Спасибо
0
Монет
0
$start = strtotime('22:00');
$finish = strtotime('02:00');
$minutes = intdiv(($finish - $start + 86400) % 86400, 60);
printf('%02d:%02d', intdiv($minutes, 60), $minutes % 60); Без вмешательства нейросетей код становится намного проще.
 
Сверху Снизу