Werner-Zenk.de - Zur Startseite

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: 18.06.2018 09:12:36

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 am Kleingeschrieben: „ante meridiem”, „post meridiem” (Vormittag, Nachmittag)
A AM oder PM AM Großgeschrieben: „ante meridiem”, „post meridiem
B 000 bis 999 @342 Swatch-Internet-Zeit (Beat) Siehe: de.wikipedia.org/Swatch
d 01 bis 31 18 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 9 12-Stunden-Format, ohne führende Nullen
G 0 bis 23 9 24-Studen-Format, ohne führende Nullen
h 01 bis 12 09 12-Studen-Format, mit führende Nullen
H 00 bis 23 09 24-Studen-Format, mit führende Nullen
i 00 bis 59 12 Minuten mit führenden Nullen
I 1 bei Sommerzeit, ansonsten 0 1 Fällt ein Datum in die Sommerzeit
j 1 bis 31 18 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 2018 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, 18 Jun 2018 09:12:36 +0200 RFC 822 formatiertes Datum
s 00 bis 59 36 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   1529305956 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 2018 Vierstellige Ausgabe der Jahreszahl
y Bsp: 97 oder 05 18 Zweistellige Ausgabe der Jahreszahl
z 0 bis 365 168 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 18 Juni 2018

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 18 Jun 2018 09:12:36 CEST Datums- und Zeitangabe
%C 00 - 99 20 Ausgabe des jahrhunderts
%d 01 - 31 18 Aktueller Tag des Monats
%D 11/18/07 06/18/18 Ausgabe des aktuellen Datums (Monat/Tag/Jahr)
%e 0 - 31 18 Tag des Monats (Dezimalwert) einstelligen Werten wird ein Leerzeichen vorangestellt.
%h Jul Jun Abgekürzter Monatsname (so wie %b)
%H 00 - 23 09 Stunde als Zahl im 24-Stunden-Format
%I 01 - 12 09 Stunde als Zahl im 12-Stunden-Format
%j 001 - 366 169 Tag des Jahres als Zahl
%m 01 - 12 06 Monat als Zahl
%M 37 12 Minute als Dezimalwert
%n Neue Zeile
%p am / pm (dt: vorm./nachm.) Ausgabe der Tageszeit
%r 09:12:36 Zeit "am" oder "pm"-Formatierung
%R 09:12 Zeit in der 24-Stunden-Formatierung
%S 0 - 59 36 Sekunden als Dezimal-Wert
%t Tabulator
%T 15:22:45 09:12:36 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 25 Akt. Woche als Zahlenwert, beginnend mit dem ersten Montag im Jahr
%x 18.06.2018 Aktuelles Datum
%X 09:12:36 Aktuelle Uhrzeit
%y 00 - 99 18 Jahr als 2-stellige Zahl
%Y 2007 2018 Jahr als 4-stellige Zahl
%Z CEST Zeitzone
%% % Ein %-Zeichen

Funktion: strtotime()

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

Weitere Beispiele:

<?php
$zeit = mktime(0,0,0,   12, 6, 2018); // 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.2018
20.12.2018
06.07.2018
07.12.2018
10.12.2018
02.12.2018

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