Я должен сделать расчет с такими временами, которые приходят из массива:
+04:43
03:33
-10:33
Я пытался использовать Datetime и прочее, но класс просто сломался, когда он превысил 24:00 (например, 10:00 + 20:00). Поэтому я попробовал что-то вроде этого:
Я преобразовал все свои чч: мм в секунды с разнесением:
foreach($stringSaldo as $saldo) {
$horaM[] = explode(':',$saldo);
}
$totalHora = 0;
$totalMin = 0;
foreach($horaM as $hora) {
$totalHora = ($totalHora + $hora[0]);
$totalMin =( $totalMin + $hora[1]);
}
$totalHora = $totalHora * 3600;
$totalMin = $totalMin * 60;
$totalSeconds = $totalHora + $totalMin;
Затем я попытался сделать эти секунды во времени:
$hours = floor($totalSeconds / 3600);
$minutes = floor(($totalSeconds / 60) % 60);
$seconds = $totalSeconds % 60;
echo $hours. ":" . $minutes;
По какой-то причине, когда у меня есть такие времена, как: -03:34
и +01:00
, вычисление не удается, оно дает -02:-26
, но должно быть -02:34
.
Что я делаю не так?