Helikon
10.01.2017, 20:20:09
Witajcie!
Mam następujące zmienne:
$b['wejscie19'] oraz $b['wyjscie19'] i przybierają one wartość godzinową, czyli w formacie 00:00:00, 01:30:00 i tak dalej..
Chciałbym aby wynik następującego działania dawał nam postać według formatu godzinowego, a nie całkowitego:
$iloscsroda = $b['wyjscie19'] - $b['wejscie19'];
W tym momencie zmienna zwraca takie liczby całkowite - 1, 8, 16. Chciałbym jednak żeby zwracała 01:00, 08:00, 16:00 i brała też pod uwagę minuty - np. 16:30.
Czy ktoś może podpowiedzieć sposób jakim mogę wykonywać działania na czasie?
Pozdrawiam,
Helikon
Pyton_000
10.01.2017, 20:42:38
Przekonwertuj na sekundy np:
Potem odejmij wartości a następnie wyświetl sobie np:
Helikon
10.01.2017, 20:48:23
Cytat(Pyton_000 @ 10.01.2017, 20:42:38 )

Przekonwertuj na sekundy np:
Potem odejmij wartości a następnie wyświetl sobie np:
Napisałem coś takiego:
$sec_wyjsciewtorek = strtotime($a['wyjscie18']); $sec_wejsciewtorek = strtotime($a['wejscie18']);
$sumawtorek = $sec_wyjsciewtorek - $sec_wejsciewtorek;
$iloscwtorek = date('H:i', $sumawtorek);
Lecz zwraca wynik o jedną godzinę większą - również dla wartości 00:00:00 zwraca 01:00
Może być to kwestia strefy czasowej? Jak ją tutaj zmienić?
viking
10.01.2017, 20:52:16
$date1 = DateTime::createFromFormat('H:i:s', '06:00:00');
$date2 = DateTime::createFromFormat('H:i:s', '03:45:00');
$x = $date1->diff($date2);
Helikon
10.01.2017, 20:56:44
Cytat(viking @ 10.01.2017, 20:52:16 )

$date1 = DateTime::createFromFormat('H:i:s', '06:00:00');
$date2 = DateTime::createFromFormat('H:i:s', '03:45:00');
$x = $date1->diff($date2);
Tutaj czaję i działa, tylko może trochę banał - jak to wyświetlić w postaci samej godziny?
Bo dając coś takiego zwraca
string(8) "02:15:00".
viking
10.01.2017, 20:58:29
Really? echo $x->format('%H:%I:%S');
krzywy5830
11.01.2017, 11:13:46
Cytat(Helikon @ 10.01.2017, 20:56:44 )

Tutaj czaję i działa, tylko może trochę banał - jak to wyświetlić w postaci samej godziny?
Bo dając coś takiego zwraca
string(8) "02:15:00".
http://php.net/manual/en/function.date.phpJak chcesz tylko samą godzinę to będzie $x->format('H'), jeśli godzinę z minutami to $x->format('H:i'), a jeśli godzinę z minutami i sekundami to $x->format('H:i:s'), gdzie H - godziny, i - minuty, s - sekundy.