Datum und Zeitfunktionen

Ausgabe von Datum, Uhrzeit und anderen Datumsformatierungen.

Zeitzone setzen

Die Zeitzone können Sie in PHP mit date_default_timezone_set("Europe/Berlin"); setzen.
Weitere Zeitzonen finden Sie unter: php.net/manual/de/timezones.europe.php

Funktion: date()

Die Darstellung eines Datums erfolgt mit echo date("X");, wobei das X durch eines oder mehrerer der nachfolgenden Symbole formatiert wird.

Beispiel: <?php echo date("d.m.Y H:i:s"); ?>

Ausgabe: 17.06.2019 20:55:56

Normaler Text innerhalb der date-Funktion, dieser muss durch ein Rückstrich (Backslash "\") geschützt werden. date("H:i:s \U\h\r")

Symbol Rückgabewert Beispiel Beschreibung
a am oder pm pm Kleingeschrieben: „ante meridiem”, „post meridiem” (Vormittag, Nachmittag)
A AM oder PM PM Großgeschrieben: „ante meridiem”, „post meridiem
B 000 bis 999 @830 Swatch-Internet-Zeit (Beat) Siehe: de.wikipedia.org/Swatch
d 01 bis 31 17 Tag des Monats, 2-stellig mit führender Null
e Europe/Paris Europe/Berlin Zeitzone
D Mon bis Sun Mon Tag der Woche als Abkürzung mit drei Buchstaben
F January bis December June Monat als ganzes Wort
g 1 bis 12 8 12-Stunden-Format, ohne führende Nullen
G 0 bis 23 20 24-Studen-Format, ohne führende Nullen
h 01 bis 12 08 12-Studen-Format, mit führende Nullen
H 00 bis 23 20 24-Studen-Format, mit führende Nullen
i 00 bis 59 55 Minuten mit führenden Nullen
I 1 bei Sommerzeit, ansonsten 0 1 Fällt ein Datum in die Sommerzeit
j 1 bis 31 17 Tag des Monats ohne führende Nullen*
l Sunday bis Saturday Monday Ausgeschriebener Tag der Woche
L 1 für ein Schaltjahr, ansonsten 0 0 Schaltjahr oder nicht
m 01 bis 12 06 Monat als Zahl, mit führenden Nullen
M Jan bis Dec Jun Monatsname als Abkürzung mit drei Buchstaben
n 1 bis 12 6 Monatszahl, ohne führende Nullen
N 1 bis 7 1 Numerische Repräsentation des Wochentages (1 für Montag bis 7 für Samstag)
o 2019 Jahreszahl gemäß ISO-8601. Dies ergibt den gleichen Wert wie Y, außer wenn die ISO-Kalenderwoche (W) zum vorhergehenden oder nächsten Jahr gehört, wobei dann jenes Jahr verwendet wird
O +0200 +0200 Zeitunterschied zur Greenwich Mean Time (GMT) in Stunden
r   Mon, 17 Jun 2019 20:55:56 +0200 RFC 822 formatiertes Datum
s 00 bis 59 56 Sekunden, mit führenden Nullen
S st, nd, rd oder th th Anhang der englischen Aufzählung für einen Monat, zwei Zeichen
t 28 bis 31 30 Anzahl der Tage in einem Monat
T EST, MDT, ... CEST Zeitzoneneinstellung des Rechners
U   1560797756 Sekunden seit Beginn des UNIX-Zeit-Codes (January 1 1970 00:00:00 GMT)
w 0 (für Sonntag) bis 6 (für Samstag) 1 Numerischer Tag der Woche
W   25 ISO-8601 Wochennummer des Jahres, die Woche beginnt am Montag
Y Bsp: 1997 oder 2005 2019 Vierstellige Ausgabe der Jahreszahl
y Bsp: 97 oder 05 19 Zweistellige Ausgabe der Jahreszahl
z 0 bis 365 167 Der Tag des Jahres
Z   7200 Offset der Zeitzone in Sekunden

Funktion: strftime()

Die Darstellung eines Datums erfolgt mit echo strftime("X");, wobei das X durch eines oder mehrerer der nachfolgenden Symbole formatiert wird.

Mit setlocale(LC_TIME, "de_DE", "german"); wird das deutsche Datumsformat übernommen.

Beispiel: echo strftime("%A, der %d %B %Y");

Ausgabe: Montag, der 17 Juni 2019

Symbol Rückgabewert Beispiele
setlocale(german)
Beschreibung
%a Sun, Mon, We Mo Abgekürzter Wochentag
%A Sunday, Monday, Wednesday Montag Unkekürzter Wochentag
%b Jan, Jul, Dec Jun Abgekürzter Monatsname
%B January, July, December Juni Unkekürzter Monatsname
%c Sun Jul 1 12:14:45 2007 Mo 17 Jun 2019 20:55:56 CEST Datums- und Zeitangabe
%C 00 - 99 20 Ausgabe des jahrhunderts
%d 01 - 31 17 Aktueller Tag des Monats
%D 11/18/07 06/17/19 Ausgabe des aktuellen Datums (Monat/Tag/Jahr)
%e 0 - 31 17 Tag des Monats (Dezimalwert) einstelligen Werten wird ein Leerzeichen vorangestellt.
%h Jul Jun Abgekürzter Monatsname (so wie %b)
%H 00 - 23 20 Stunde als Zahl im 24-Stunden-Format
%I 01 - 12 08 Stunde als Zahl im 12-Stunden-Format
%j 001 - 366 168 Tag des Jahres als Zahl
%m 01 - 12 06 Monat als Zahl
%M 37 55 Minute als Dezimalwert
%n Neue Zeile
%p am / pm (dt: vorm./nachm.) Ausgabe der Tageszeit
%r 08:55:56 Zeit "am" oder "pm"-Formatierung
%R 20:55 Zeit in der 24-Stunden-Formatierung
%S 0 - 59 56 Sekunden als Dezimal-Wert
%t Tabulator
%T 15:22:45 20:55:56 Aktuelle Zeit im 24-Stunden-Format
%u 1 - 7 1 Tag der Woche als Dezimal-Wert, dabei ist 1 = Montag, 7 = Sonntag
%U 00 - 53 24 Akt. Woche als Zahlenwert, beginnend mit dem ersten Sonntag im Jahr
%V 25 Kalenderwoche nach ISO: 8601:1988
%w 0 - 6 1 Wochentag als Dezimal-Wert
%W 24 Akt. Woche als Zahlenwert, beginnend mit dem ersten Montag im Jahr
%x 17.06.2019 Aktuelles Datum
%X 20:55:56 Aktuelle Uhrzeit
%y 00 - 99 19 Jahr als 2-stellige Zahl
%Y 2007 2019 Jahr als 4-stellige Zahl
%Z CEST Zeitzone
%% % Ein %-Zeichen

Funktion: strtotime()

Beispiel: <?php echo date("d.m.Y", strtotime("Sunday October 2019")); ?>
Gibt das Datum des ersten Sonntags im Oktober (2019) aus: 06.10.2019

Weitere Beispiele:

<?php
$zeit = mktime(0,0,0,   12, 6, 2019); // Monat, Tag, Jahr
echo date("d.m.Y", strtotime("+1 day", $zeit)) . "<br>";
echo date("d.m.Y", strtotime("+2 week", $zeit)) . "<br>";
echo date("d.m.Y", strtotime("-5 month", $zeit)) . "<br>";
echo date("d.m.Y", strtotime("Friday", $zeit)) . "<br>";
echo date("d.m.Y", strtotime("next Monday", $zeit)) . "<br>";
echo date("d.m.Y", strtotime("last Sunday", $zeit));
?>

Ausgabe:

07.12.2019
20.12.2019
06.07.2019
06.12.2019
09.12.2019
01.12.2019

TypZeichen (englische Begriffe)
Schrittweiten +1, +2, +3, +50, ...   -1, -2, -3, -50, ...
Numerisches Datum/Zeit Format: Y-m-d, H:i:s
Ordnungsnamen first, second, third, fourth, fifth, sixth, seventh, eighth, ninth, tenth, eleventh, twelfth [= 1-12]
Spezielle Ordnungsnamen last = -1, this = 0, next = 1
Spezielle Wörter tomorrow, yesterday, ago, fortnight, now, today, day, week, month, year, hour, minute, min, second, sec
Tage / Monate sunday - saterday, sun - sat, January - December, Jan - Dec

Tipp

Berechnungen mit dem Datum - Feiertage, Mondphase, Wochentag, Sonnenaufgang und Sonnenuntergang, Julianisches Datum, Sternzeichen, ...