PHP Date Function: Convert to String mit anderen Datumsangaben

Mit der Funktion mktime lassen sich aus mehreren Einzelkomponenten zusammengestellte Datumsangaben generieren. Mktime liefert als Rückgabewert einen int-Wert (integer), welcher den zu einem individuell eingestellten Datum den zugehörigen Timestamp repräsentiert. Als Parameter erwartet mktime bis zu sieben optionale Parameter, die in vorgegebener Reihenfolge angegeben werden können. Diese Parameter sind allesamt vom Typ int und geben die den Timestamp definierende Werte für die Stunde, Minute, Sekunde, Monat, Tag und das Jahr – in genau dieser Reihenfolge – an.

Der letzte Parameter der Funktion gibt an, ob bei der Zeitangabe die Sommerzeit oder die Winterzeit berücksichtigt werden soll (der Parameter wird mit 1 angegeben) oder nicht (0). Standardmäßig wird -1 für „unknown” angenommen, was dazu führt, dass die Berechnung nach den Vorgaben der Webserver-Konfiguration erfolgt (is_dst = 1). Seit PHP 5.1.0 darf dieser Parameter nicht mehr angegeben werden. Zeitkomponenten, die nicht angegeben wurden, führen zu einer Default-Belegung, die sich aus den aktuellen Datums- und Zeitangaben ergeben. Werden also nur die ersten beiden Angaben (Stunde und Minute) angegeben, so liefert mktime einen Timestamp für die angegebene Stunde und Minute des aktuellen Tages. Die durch date in Strings konvertierten Timestamps des unteren Scripts werden – zur Formatierung mit HTML-Code gespickt – auf der aufgerufenen Internetseite ausgegeben.

<?php
    // Timestamp für den heutigen Tag zur Uhrzeit 22:55 Uhr
    // Stunde und Minute wird angegeben; der Rest wird durch einen aktuellen
    // Timestamp vorgegeben
    echo date ('l d.m.Y, H:i:s', mktime (22, 55)) . '<br>';
    // Angabe der kompletten Zeit
    echo date ('l d.m.Y, H:i:s', mktime (18, 30, 0)) . '<br>';
    // Zusätzlich angegebene Monat und Tag (1. Januar)
    echo date ('l d.m.Y, H:i:s', mktime (0, 0, 0, 1, 1)) . '<br>';
    // Und jetzt mit einer Jahresangabe
    echo date ('l d.m.Y, H:i:s', mktime (0, 0, 0, 1, 1, 2000)) . '<br>';

    // Vorsicht bei einem nicht existierenden Datum
    // Den 31.02.2008 gab es nicht (in diesem Jahr hatte der Februar 29 Tage)
    // Generiert wird der Timestamp für den 31. Tag nach dem 1. Februar
    // Analog geschieht dies auch bei Monaten, die nur 30 Tage haben. Hier
    // wird stets der 1. des Folgemonats angenommen.
    echo date ('l d.m.Y, H:i:s', mktime (0, 0, 0, 2, 31, 2008)) . '<br>';
?>

Thursday 23.11.2017, 22:55:33
Thursday 23.11.2017, 18:30:00
Tuesday 01.01.2008, 00:00:00
Saturday 01.01.2000, 00:00:00
Sunday 02.03.2008, 00:00:00

PHP Date Time Beispiele: Rechnen mit Datums- und Zeitangaben

Aufgrund der Tatsache, dass mktime die angegebenen Parameter auf den realen Kalender umrechnet, ist es auch durch entsprechende Anpassung von Datum- und Zeitinformationen möglich, über die Funktion mktime – und unter Verwendung von Variablen zur Zwischenspeicherung von Werten – einfache Berechnungen durchzuführen. Auf diese Weise lassen sich Fristen errechnen oder andere auf ein Datum bezogene Fragen – etwa welcher Wochentag an einem bestimmten Datum ist – klären. Folgende Beispiele zeigen, wie Sie mit Hilfe von date und der Funktion mktime derartige Berechnungen programmieren können. Die Ausgabe der errechneten Zeit-Informationen erfolgt auch hier wieder mit echo.

<?php
    // Bestimmtes Datum als Startpunkt für weitere Berechnungen über den Timestamp
    // festlegen.
    $ts = mktime (0, 0, 0, 11, 6, 2008);
    // Teilkomponenten des gesetzten Datums extrahieren
    $jahr = date ('Y', $ts);
    $monat = date ('m', $ts);
    $tag = date ('d', $ts);
    // Ausgabe des ermittelten Datums, von dem die folgenden Berechnungen aus gehen
    echo 'Ausgangsdatum: ' . date ('l d.m.Y', $ts) . '<br>';

    // Fristen nach einem bestimmten Tag errechen
    // 14 Tage nach dem aktuellen Datum
    echo 'In 14 Tagen haben wir folgendes Datum: ' . date ('l d.m.Y', mktime (0, 0, 0, $monat, $tag + 14, $jahr)) . '<br>';
    // 4 Wochen nach dem Termin
    echo '4-Wöchige Frist: ' . date ('l d.m.Y', mktime (0, 0, 0, $monat, $tag + 28, $jahr)) . '<br>';

    // Gleicher Tag im nächsten Jahr ist welcher Wochentag?
    echo 'Nächstes Jahr ist dieser Tag ein: ' . date ('l', mktime (0, 0, 0, $monat, $tag, $jahr + 1)) . '<br>';
?>

Ausgangsdatum: Thursday 06.11.2008
In 14 Tagen haben wir folgendes Datum: Thursday 20.11.2008
4-Wöchige Frist: Thursday 04.12.2008
Nächstes Jahr ist dieser Tag ein: Friday

<?php
    // Uhrzeit, die als Grundlage für die folgenden Berechnungen dienen, festlegen
    $ts = mktime (13, 30, 0);
    // Teilkomponenten der festgelegten Zeit auslesen und in Variablen speichern
    $stunde = date ('H', $ts);
    $minute = date ('i', $ts);
    $sekunde = date ('s', $ts);
    // Ausgabe des ermittelten Datums, von dem die folgenden Berechnungen aus gehen
    echo 'Ausgangszeit: ' . date ('H:i:s', $ts) . '<br>';

    // Einige Kombinationen zur Berechnung der Zeit (time)
    echo 'Zeit nach 30 Minuten: ' . date ('H:i:s', mktime ($stunde, $minute + 30, $sekunde)) . '<br>';
    echo '12 Stunden später: ' . date ('H:i:s', mktime ($stunde + 12, $minute, $sekunde)) . '<br>';
    echo 'Nach 4000 Sekunden: ' . date ('H:i:s', mktime ($stunde, $minute, $sekunde + 4000)) . '<br>';
?>

Ausgangszeit: 13:30:00
Zeit nach 30 Minuten: 14:00:00
12 Stunden später: 01:30:00
Nach 4000 Sekunden: 14:36:40

Letzte Posts aus unserem Forum

Wer kennt .....

Hallo erstmal wer kennt von euch einen WEbprogrammieren,desginer der mir eine Seite erstellen kann ,Communityportal sowas in der art wie ... » mehr

von NCWebmaster am Mittwoch, 7. Oktober 2009 00:32 in PHP - bisher 2 Antworten
Letzter Beitrag: Montag, 17. Dezember 2012 16:57 von maharadja

...einen guten Onlineshop für Taufringe? Ich habe bisher Taufringe Direkt gefunden und wollte mal nachhaken, ob der Shop für Taufringe wirklich so ... » mehr

Webentwickler Konferenz in Hamburg

Hallo Zusammen, Am 20./21. Mai findet in Hamburg die erste Developer Conference 2011 statt. Wie der Name bereits verrät, handelt die Konferenz rund ... » mehr

von devcon-hamburg am Dienstag, 12. April 2011 16:50 in PHP - noch nicht beantwortet

bedingte Weiterleitung in Kontaktformularen

Hallo zusammen, ich habe ein kleines Problem: Ich brauche bei der Entwicklung eines Kontaktformulares für eine Website eine bedingte Weiterleitung ... » mehr

von scatha am Donnerstag, 10. März 2011 01:12 in PHP - noch nicht beantwortet

Gesucht: Auslesen einer externen Website

Mein vorhaben ist recht simpel aber ich bin php noob (hoffe das entschuldigt es nen bissl xD) und hab kp wie ichs anfangen soll. Und zwar möchte ich ... » mehr

von HeathenMan am Dienstag, 1. Februar 2011 22:57 in PHP - bisher 1 Antwort
Letzter Beitrag: Donnerstag, 3. Februar 2011 14:43 von alm

Hallo, am einfachsten und kompaktesten kann man das mit einem regulären Ausdruck machen. Einfach mal nach der Funktion preg_match_all suchen und den ... » mehr

Zeilenumbruch in der Bildergalerie-Beschriftung

Hallo, die Bildergalerie mit php und js ist super, jedoch möchte ich gern zu meinen Bildern verschiedene Bemerkungen machen und zwar untereinander, ... » mehr

von Sylma am Mittwoch, 26. Januar 2011 01:13 in PHP - bisher 1 Antwort
Letzter Beitrag: Freitag, 28. Januar 2011 10:16 von alm

Hallo, ich nehme an, dass \n im Beschreibungstext nicht funktioniert aber versuchen kann man es. Ansonsten: Schon mal mit einer UTF-Sequenz ... » mehr

¬ Tutorials



¬ Insolvenzrecht