3. Juni 200421 j 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
3. Juni 200421 j 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()")
3. Juni 200421 j $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.
3. Juni 200421 j versuch ma so: $old = 1086261759; // Vorhin generierter Timestamp $new = time(); $diff = $new - $old; echo date( "H:i", $diff); [/PHP]
3. Juni 200421 j Done. Ändert aber nichts an der Ausgabe. Ob mit abs() oder ohne, gleiche Ausgabe. Er zeigt mir dann die Uhrzeit 02:40 an.
3. Juni 200421 j 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)
3. Juni 200421 j 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
3. Juni 200421 j 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.
3. Juni 200421 j was ist eigentlich das ziel von dem ganzen? willst du die differenz in minuten? sekunden? stunden? tage? monate? jahre?
3. Juni 200421 j 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.
Archiv
Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.