3v4l.org

run code in 300+ PHP versions simultaneously
<?php $data = [ ['from' => '2022-03-01 16:00', 'to' => '2022-03-02 12:00'], //20:00:00 ['from' => '2022-03-02 12:30', 'to' => '2022-03-02 22:02'], //09:32:00 ]; //total 29:32:00 $basis = '2000-01-01'; $dateBase = date_create('2000-01-01'); $date = clone $dateBase; foreach($data as $dates){ $dateFrom = date_create($dates['from']); $dateTo = date_create($dates['to']); $diff = $dateFrom->diff($dateTo); $date->add($diff); } $totalDiff = $dateBase->diff($date); $hours = $totalDiff->d *24 + $totalDiff->h; //days * 24 + hours echo 'Sum: '.$hours.$totalDiff->format(':%I:%S'); //Sum: 29:32:00

preferences:
32.41 ms | 404 KiB | 5 Q