Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Zeitdifferenz ausrechnen

Empfohlene Antworten

Veröffentlicht

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

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

Archiv

Dieses Thema wurde archiviert und kann nicht mehr beantwortet werden.

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.