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'; 
Другие вопросы по тегам