sockä Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 Hallo, ich habe folgenden Code, um die Differenz zwischen zwei Daten zu berechnen: $timestamp_start = strtotime($row['startdate'] . " " . $row['starttime']); $timestamp_end = strtotime($row['enddate'] . " " . $row['endtime']); $dauer = $timestamp_end - $timestamp_start; [/php] Dann will ich die Differenz ausgeben, das mache ich mit: [php] echo date("H:i:s", $dauer); Es funktioniert eigentlich, ABER die Ausgabe ist genau um eine Stunde falsch. Wenn ich als Startwert habe 10.10.2006 14:30:00 und als Endwert 10.10.2006 14:40:00 müsste die Ausgabe ja 00:10:00 sein - aber sie ist 01:10:00 - also eine Stunde zu viel. Das passiert immer, aber die Rechnung ist sonst bis auf die Sekunde genau richtig... es ist lediglich immer genau eine Stunde zu viel. Wer weiß Rat?! Grüße.
Dodge1603 Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 Und wenn Du es ohne das Datum testest, passiert das selbe?
Eytibi Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 Subtrahier doch einfach die Stunde wieder ...
sockä Geschrieben 11. Oktober 2006 Autor Geschrieben 11. Oktober 2006 Und wenn Du es ohne das Datum testest, passiert das selbe? wie meinst du das jetzt?! @Eytibi: War auch meine Idee, aber a) muss das doch richtig gehen kommt da eine Fehlermeldung alà "Wert darf nicht kleiner sein als 01.01.1970" und c) mus irgendwo ein Fehler sein..
baba007 Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 hatte ich auch das problem. hab -3600 für sekunden abgezogen
Dodge1603 Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 Ich meinte, ohne diesen Datumsstring davor. Würde aber sich nix ändern. Und wenn man mit Timestamp arbeitet? Genauer gehts ja dann kaum.
Eytibi Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 kommt da eine Fehlermeldung alà "Wert darf nicht kleiner sein als 01.01.1970" Den Fehler kann man ja abfangen wenn die Differenz entsprechend klein ist. Als ich das Problem hatte, habe ich keine bessere Läösung gefunden und habe halt die Stunde (bzw. 3600 Sekunden) wieder abgezogen ...
Jaraz Geschrieben 11. Oktober 2006 Geschrieben 11. Oktober 2006 Hallo, echo date("H:i:s", $dauer); [/php] Da das keine Uhrzeit mehr ist, sondern ein Zeitraum sein soll, nimmst du gmdate, dann passts. [php] echo gmdate("H:i:s", $dauer); Gruß Jaraz
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