php совокупное время между началом и концом времени
Может ли кто-нибудь решить мою проблему, пожалуйста. У меня есть MySQL таблица с time_start "час: минута" и time_end "час: минута", как я могу получить совокупную продолжительность времени между time_start и time_end. Спасибо,
$sel = $db->query("SELECT * FROM logbook WHERE date = '$date' ");
while($sel_row = mysqli_fetch_array($sel))
{
$duration = (strtotime($sel_row['time_end'])-strtotime($sel_row['time_start']))/(60*60);
$hour = floor($duration);
$minute = ($duration - $hour)*60;
echo $hour.":".$minute;
? HERE HOW CAN I CUMULATE THE $hour:$minute
}
1 ответ
Решение
Сделайте суммирование, где вы рассчитываете продолжительность
$duration = 0;
while($sel_row = mysqli_fetch_array($sel))
{
$duration += (strtotime($sel_row['time_end'])-strtotime($sel_row['time_start']))/(60*60);
}
$hour = floor($duration);
$minute = ($duration - $hour)*60;
echo $hour.":".$minute;
Или лучше, пусть MySQL сделает расчет:
SELECT (SUM(time_end) - SUM(time_start)) / 3600 FROM logbook WHERE date = '$date';