Как посчитать, сколько часов в часовом диапазоне?

ты можешь помочь мне с этим?

Я создаю планировщик событий, и у меня есть функция, которая состоит из часового диапазона. Например, у меня есть событие BIRTHDAY, и оно начинается с 13:15:00 до 18:30:00. Теперь, как я могу посчитать часы в этом диапазоне?

У меня есть такой код:

<?php

$start = "13:15:00";
$end = "18:30:00";

$time = strtotime($start);
$timeStop = strtotime($end);

//how can I count the hours inside?

?>

1

Решение

Вы могли бы использовать gmdate() в этом случае:

$time = gmdate('H:i:s', $timeStop - $time); // feed seconds
echo $time;

Или с DateTime Класс также:

$time = new DateTime($start);
$timeStop = new DateTime($end);
$diff = $timeStop->diff($time);
echo $diff->format('%h:%i'); // hours minutes
4

Другие решения

<?php

$start = "13:15:00";
$end = "18:30:00";

$time = strtotime($start);
$timeStop = strtotime($end);

//To count hours in the range
$diff = intval(($timeStop - $time)/3600);
//3600 refers to 1 hour

?>

Таким образом, вы берете разницу между двумя временными метками и делите на 3600 секунд, чтобы получить количество часов. intval это получить целочисленное значение. Вы можете свободно использовать round, ceil или же floor,

2

По вопросам рекламы [email protected]