robotto7831a Geschrieben 6. Juni 2002 Geschrieben 6. Juni 2002 Hallo, ich habe da ein kleines Problem. Ich möchte die Zeitdifferenz in Tagen, Stunden, Minuten und Sekunden zwischen einem Startdatum und einem Endedatum ermitteln. Ich habe schon folgenden Ansatz. $Anfang = gmmktime($Anfangstunde,$Anfangminute,$Anfangsekunde,$Anfangmonat,$Anfangtag,$Anfangjahr); $Ende = gmmktime($Endestunde,$Endeminute,$Endesekunde,$Endemonat,$Endetag,$Endejahr); $Ergebnis = $Anfang - $Ende; echo "Timestamp: $Ergebnis<br>"; echo "<br>"; echo date ("M d Y H:i:s", $Ergebnis); $tag = date ("d", $Ergebnis) -1; $monat = date("m", $Ergebnis) - 1; $stunden = date ("H", $Ergebnis) - 1; $minuten = date ("i", $Ergebnis); $sekunden = date ("s", $Ergebnis); echo "<br>Tage: $tag<br>Monate: $monat * 30 Tage<br>Stunden: $stunden<br>Minuten: $minuten<br>Sekunden: $sekunden"; [/PHP] Als Parameter übergebe ich z. B. [code] Endedatum: 2002.06.05 13:35:00 Startdatum: 2002.04.01 07:30:00 [/CODE] Als Ergebnis bekomme ich dann sowas wie: [CODE]Mar 07 1970 07:05:00[/code] Das mit den Stunden, Minuten und Sekunden scheint ja zu stimmen, aber wie mache ich das mit den Tagen (Monaten)? Frank Zitieren
Impulz Geschrieben 6. Juni 2002 Geschrieben 6. Juni 2002 Date wandelt einen Unix-Timestamp (eine Integer-Zahl die seit dem 1.1.1970 jede sekunde um 1 hochgezaehlt wird) in ein Datum um. Dass dies nicht mit einer Differenz klappt duerfte logisch sein. Ebenso ist eine Angabe in Monaten ungenau da die Anzahl Tage in einem Monat schwankt. Daher bleibt dir nix anderes uebrig als die Differenz manuell umzurechnen, was aber auch nicht weiter schwer ist.. $tage=$ergebnis / 86400; // 1 Tag = 86400 Sekunden $rest=$ergebnis % 86400; // Rest < 1 Tag (od. 86400 Sek) $stunden=$rest / 3600; // Wieviele Stunden waren noch uebrig? $rest=$rest % 3600; // Rest < 1 Stunde (od. 3600 Sek) $minuten=$rest / 60; // Wieviele Minuten noch ueber? $sekunden=$rest=$rest/60; // Rest < 1 Minute (od. 60 Sekunden) [/PHP] War doch gar nit so schwer Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.