ChrisB: zwei Timestamps vergleichen und Differenz ausgeben

Beitrag lesen

Hi,

$timestamp kommt von einer DB.

In welchem Format?

Ist die Differenz unter einer Stunde funktioniert es, ab 1. Stunde bekomme ich ein falschen wert. Z.B. mit einer Differenz von 7000 krieg ich 17 Std.

Das müsste dann also der Zweig sein:
> if( ($diff > 3600) AND ($diff < 86400) ) $datum = "vor ".date("H",$diff)." Stunden"."- $diff"; //stunden

Was ist falsch,

$diff = 7000;  
echo "vor ".date("H",$diff)." Stunden"."- $diff";

gibt mir

vor 02 Stunden- 7000

aus - was auch das zu erwartende Ergebnis innerhalb unserer Zeitzone ist.

wo stehe ich auf dem Schlauch?

An der Stelle, wo du meinst es wäre sinnvoll, eine Funktion, die für die Formatierung eines Unix Timestamps als Datum gedacht ist, für etwas anderes zu benutzen.

Schau dir DateTime::diff an.
(Achtung, in älteren PHP-Versionen ist das teilweise noch buggy, was die Rückgabe einer Differenz in Tagen angeht. Sorgfältiges Testen ist angesagt.)

MfG ChrisB

--
RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?