Wie lässt sich die Gesamtzahl der Sekunden zwischen zwei Daten am besten berechnen? Bisher habe ich etwas in der Art versucht:
$delta = $date->diff(new DateTime('now'));
$seconds = $delta->days * 60 * 60 * 24;
Die days
Eigenschaft des DateInterval-Objekts scheint jedoch im aktuellen PHP5.3-Build fehlerhaft zu sein (zumindest unter Windows wird immer der gleiche 6015
Wert zurückgegeben). Ich habe auch versucht, dies auf eine Weise zu tun, bei der die Anzahl der Tage in jedem Monat (Runden auf 30), die Schaltjahre usw. nicht erhalten bleiben:
$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);
Aber ich bin wirklich nicht glücklich mit dieser halbherzigen Lösung.
format
ist, wenn sagen, die Anzahl der Sekunden ist 0, während die Anzahl der Minuten 1 ist, $delta->format("%r%s")
stellt sich heraus, 0 zu sein :(
$delta->format("%r%s")
?