Jaki jest najlepszy sposób obliczenia całkowitej liczby sekund między dwiema datami? Do tej pory próbowałem coś wzdłuż linii:Oblicz całkowite sekundy w PHP DataInterval
$delta = $date->diff(new DateTime('now'));
$seconds = $delta->days * 60 * 60 * 24;
Jednak własność obiektu DateInterval days
wydaje się być uszkodzony w obecnej wersji PHP5.3 (przynajmniej na Windows, to zawsze zwraca ta sama wartość 6015
). Ja również próbował zrobić to w taki sposób, by nie zachować liczbę dni w każdym miesiącu (do 30 rund), lata przestępne, etc:
$seconds = ($delta->s)
+ ($delta->i * 60)
+ ($delta->h * 60 * 60)
+ ($delta->d * 60 * 60 * 24)
+ ($delta->m * 60 * 60 * 24 * 30)
+ ($delta->y * 60 * 60 * 24 * 365);
Ale ja naprawdę nie jestem zadowolony z korzystania z tego pół- ustalone rozwiązanie.
Co jest wynikiem '$ delta> Format ("% R% s") '? – warrenm
@warrenm Problem z 'format' ma miejsce, gdy mówi się, że liczba sekund wynosi 0, podczas gdy liczba minut wynosi 1, format' $ delta-> ("% r% s") "okazuje się być 0 :( – zapadlo
Gorzej jednak mówienie jak ktoś naprawia teraz usterkę złapaną w przegląd kodu od programisty, który wkleił twój EXACT-y powyżej - nie co miesiąc ma 30 dni, a nie co roku ma 365 dni. :) [Edytuj: i ten koder mógł być sam!] – taiganaut