dedlfix: Mit PHP überprüfen wie lange ein Datum schon her ist

Beitrag lesen

Hi!

ich habe [...]  mir die von Dir verlinkte Funktion angesehen.
Der aktuellste Kommentar dort ist der vom User 'andarin2' vom 18.11.2009. Er schreibt dort, dass eine Ausgabe mit einem Sekundenwert besser wäre, weil man dann exakt in Tage, Wochen, Monate, etc. umrechnen könnte. Ansonsten ergibt 28 Tage genauso '1 Monat' wie 31 Tage. (Siehe sein Beispiel dort.)

Monate nur, wenn man dafür eine einheitliche Länge definiert. Außerdem ist das Beispiel für PHP 5.3.2 nicht richtig, denn das liefert für 1.2.2009 bis 1.3.2009 28 Tage und erst ab 2.3.2009 1 Monat und 1 Tag. (Was auch irgendwie komisch ist.)

Es kommt darauf an, was man am Ende will. Für manche reicht es, wenn aus den beiden Daten eine der Wirklichkeit entsprechende Differenz gebildet wird, also die vergangenen Monate inklusive der Berücksichtigung von deren tatsächlicher Länge. Andere sähen lieber eine exakte Tagesanzahl (wobei da noch die Sommerzeitproblematik zu beachten ist). Es gibt zwar einen Format-Parameter %a für DateInterval::format(), aber da kommt nur Müll raus. Offensichtlich ist das noch eine Baustelle für die PHP-Leute.

Gibt es wirklich  nur 'Tage' als Ergebnis der Differenzberechnung oder kann ich mir mit einer anderen Funktion die Sekunden zwischen 2 Tagen ausgeben lassen und dann in einem zweiten Schritt die _exakte_ Differenz in Tagen, Wochen, Monaten, etc. berechnen?

Sieht nicht so aus, als ob dir für deinen Fall die eingebauten Funktionen nützen. Du kannst aber immer noch die Timestamps nehmen und mit ihnen rechnen.

Lo!