Autor Zpráva
jtfcobra
Profil
08:05:00 - 1den
07:05:00 - 2den
09:05:00 - 3den

scitam to to takle a to secte jen 8+7+9 bez minut
$celkem=$zaznam["POCETHODIN"]+$celkem;
Tomášeek
Profil
jtfcobra:
Samozřejmě, dojde k přetypování. Jak má PHP vědět, že string ve tvaru dd:dd:dd považuješ za čas?

Nastuduj si třídu dateTime a její metodu diff.
Pokud chceš primitivní řešení, převeď si čas ze stringu na sekundy, ty spočítej a pomocí modula převeď zpět na hodiny, minuty a sekundy.
Hando
Profil
jtfcobra:
A to se na něco ptáš, nebo nám to jen říkáš?

Tady máš příklad, jak se dá pracovat s tím, co ti poradil Tomášeek:
How we can add two date intervals in PHP
Kcko
Profil
jtfcobra:
Jak už tu bylo naznačeno, stačí Ti 2 primitivní funkce

1) Převod toho tvého formátu na vteřiny
2) Sečtené vteřiny na ten tvůj formát
blitzik
Profil *
jtfcobra:

Tahle třída dělá přesně to, co potřebuješ.
Kcko
Profil
Nebo použít uplně to nejprimitivnější co PHP nabízí ... (psáno z hlavy, snad OK)


<?php

$data = [];
$data[] = '08:05:10';
$data[] = '07:05:20';
$data[] = '09:05:35';

$total = 0;
foreach ($data as $d)
{
    list($hour, $minute, $second) = explode(':', $d);
    
    $hour = (int) $hour * 3600;
    $minute = (int) $minute * 60;
    $second = (int) $second;
    
    $total += $hour + $minute + $second;
    
}



$hours = floor($total / 3600);
$minutes = floor(($total / 60) % 60);
$seconds = $total % 60;

echo "$hours:$minutes:$seconds";

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm: