dreadlord Geschrieben 3. Juni 2004 Geschrieben 3. Juni 2004 Folgendes Problem, ist es möglich die vergangene Zeit zwischen zwei Timestamps zu ermitteln ? Oder müsste ich da mit dem exakten Datum arbeiten und dann mit mktime() ? dread
kills Geschrieben 3. Juni 2004 Geschrieben 3. Juni 2004 Sprache? PHP? $iTimeDif = $timestamp1 - $timestamp2; [/PHP] du musst eigentlich nur drauf achten, dass du das größere vom kleineren abziehst! du kannst natürlich auch alternativ einfach den einen vom anderen abziehen und ggf. dann das vorzeichen "-" wegnehmen (sprich "abs()")
dreadlord Geschrieben 3. Juni 2004 Autor Geschrieben 3. Juni 2004 $iTimeDif = $timestamp1 - $timestamp2; [/PHP] Sprache ist PHP. Wenn ich diese Variante probiere, bekomme ich einen sehr komischen Wert. Mit abs() funktioniert es wenigstens besser, immer noch nicht richtig. [PHP]<?php $old = 1086261759; // Vorhin generierter Timestamp $new = time(); $latest = $new - $old; $latest = abs($latest); echo "Alte Zeit: ".date ("H:i\ \-\ d\.m\.y",$old)."<br>Neue Zeit: ".date ("H:i\ \-\ d\.m\.y",$new)."<br>Vergangene Zeit: ".date("H:i",$latest)."<br>"; ?> Nur wie gebe ich dann die vergangene Zeit aus ? Wenn ich die date() Funktion nehme, dann gibt er mir ja die Uhrzeit aus. Also z.B. Alte Zeit: 13:22 - 03.06.04 Neue Zeit: 14:36 - 03.06.04 Vergangene Zeit: 02:14 Kann irgendwie nicht stimmen.
kills Geschrieben 3. Juni 2004 Geschrieben 3. Juni 2004 versuch ma so: $old = 1086261759; // Vorhin generierter Timestamp $new = time(); $diff = $new - $old; echo date( "H:i", $diff); [/PHP]
dreadlord Geschrieben 3. Juni 2004 Autor Geschrieben 3. Juni 2004 Done. Ändert aber nichts an der Ausgabe. Ob mit abs() oder ohne, gleiche Ausgabe. Er zeigt mir dann die Uhrzeit 02:40 an.
kills Geschrieben 3. Juni 2004 Geschrieben 3. Juni 2004 hm für micht sieht das so aus als müsste man bei der Stunde noch 1 abziehen. Aber ich kann mir gerade nicht erklären warum! $old = 1086261759; // Vorhin generierter Timestamp $new = time(); $diff = $new - $old - 60 * 60; echo date( "H:i", $diff); [/PHP] PS: du musst in der date funktion nur alle die Buchstaben escapen, die sonst durch einen wert ersetzt würden. (sprich: nicht bei " " usw)
dreadlord Geschrieben 3. Juni 2004 Autor Geschrieben 3. Juni 2004 hm für micht sieht das so aus als müsste man bei der Stunde noch 1 abziehen. Aber ich kann mir gerade nicht erklären warum! $old = 1086261759; // Vorhin generierter Timestamp $new = time(); $diff = $new - $old - 60 * 60; echo date( "H:i", $diff); [/PHP] Hab' ich mir auch gerade gedacht, da die Minuten richtig angezeigt werden. gibt ma die beiden timestamp aus, und die differenz davon $old: 1086261759 $new: 1086268402 Differenz: -6643
dreadlord Geschrieben 3. Juni 2004 Autor Geschrieben 3. Juni 2004 passts wenn man 1 Stunde abzieht? (60 * 60) Ja, so lange, wie man wirklich nur Stunden, Minuten und Sekunden ausgibt. Mach' ich es so: $old = 1086261759; // Vorhin generierter Timestamp $new = time(); $diff = $new - $old - 60 * 60; echo date( "H:i:s\ \ d:m:y", $diff); [/PHP] Gibt er mir die richtigen Stunden, Minuten und Sekunden aus, aber Datum ist der 01.01.70. Was vom Timestamp her richtig wäre, damit gibt er mir aber eigentlich auch nur die Uhrzeit von damals aus minus einer Stunde.
kills Geschrieben 3. Juni 2004 Geschrieben 3. Juni 2004 was ist eigentlich das ziel von dem ganzen? willst du die differenz in minuten? sekunden? stunden? tage? monate? jahre?
dreadlord Geschrieben 3. Juni 2004 Autor Geschrieben 3. Juni 2004 Am besten alles. z.B. bei einem Login-System. "Der letzte Login liegt x Jahre, x Monate, x Tage, x Stunden, x Minuten und x Sekunden zurück. Sollte er sich z.B. schon gestern das letzte mal eingeloggt haben, soll natürlich 0 Jahre, 0 Monate, 1 Tag(e) usw. da stehen und nicht, 1970 Jahre, 01 Monate, 01 Tage usw.
kills Geschrieben 4. Juni 2004 Geschrieben 4. Juni 2004 du könntest auch zur einfachheit schreiben, "letzter login am: 24.12.03 17:34"
dreadlord Geschrieben 4. Juni 2004 Autor Geschrieben 4. Juni 2004 Gut, aber das wäre doch zu einfach, oder ?
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde Dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde Dich hier an.
Jetzt anmelden