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
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
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