Datum und Zeit
Um Datumswerte zu liefern, hat PHP mehrere Funktionen und ein Objekt namens "DateTime
".
Aktuelles Datum mit Funktionen
Bei serverseitigen Programmiersprachen bezieht sich die aktuelle Zeit immer auf die Serverzeit.
Um diese Zeit ausgeben zu lassen, verwenden wir die Funktion "getdate()
".
print_r(getdate());
Der Rückgabewert von "getdate()
" ist ein assoziatives Array, worin alle Elemente des Datums als einzelnes Element des Arrays ausgegeben werden.
Der Wert vom Array-Element 0 ist die Zahl der Sekunden, die seit dem 01.01.1970 um 00:00:00 vergangen sind. Das ist der Beginn der Unix-Epoche.
Um ein einzelnes Element aus dem Array auszulesen, speichern wir den Rückgabewert von "getdate()
" in einer Variable, von dieser Variable können wir den Wert abfragen.
$a = getdate();
echo "Es ist das Jahr " . $a["year"];
PHP ist eine der wenigen Sprachen, bei denen der Monat Januar den Wert 1 hat, in vielen anderen Sprachen wäre der Wert 0.
Die Funktion "date()
" liefert uns ein Datum zurück, bei dem wir bestimmen, welche Werte wir erhalten wollen, indem wir die geforderten Ausgaben als Parameter in Form eines Strings übergeben.
Für die Ausgabe des einfachen Datums (Tag.Monat.Jahr) schreiben wir.
$a = date("d.m.Y");
echo $a;
Die Punkte zwischen den Elementen in der Ausgabe werden vom System mit ausgegeben. Anstelle des Punktes können wir auch andere Zeichen eintragen, die als Trennzeichen verwendet werden können. Es gibt viele Parameter, die wir der Funktion date übergeben können.
Symbol | Beispiel | Beschreibung |
---|---|---|
a | pm | Die lateinische Schreibweise (am, pm) |
A | PM | Großgeschriebenes Latein (AM, PM) |
B | 935 | Swatch-Internetzeit (1Tag = 1000 Beats) |
c | 2025-08-22T21:27:32+00:00 | ISO-8601-Datum |
d | 22 | Der Tag des Monats (2-stellig) |
D | Fri | Der Wochentag kurz in Englisch |
e | UTC | Name der Zeitzone |
F | August | Monat in Englisch |
g | 9 | Die Stunde im 12 Stunden Takt |
G | 21 | Die Stunde im 24 Stunden Takt |
h | 09 | Die Stunde (12 Stunden) mit vorangestellte 0 |
H | 21 | Die Stunde (24 Stunden) mit vorangestellter 0 |
i | 27 | Die Minute der Stunde mit vorangestellter 0 |
I | 0 | true (1) = Sommerzeit, false (0) = keine Sommerzeit |
j | 22 | Der Tag des Monats ohne 0 |
l | Friday | Wochentag in Englisch |
L | 0 | true (1) = Schaltjahr, false (0) = kein Schaltjahr |
m | 08 | Monat als Zahl mit vorangestellter 0 |
M | Aug | Monat kurz in Englisch |
n | 8 | Monat als Zahl ohne vorangestellte 0 |
N | 5 | ISO-8601_Wochentag (Montag=1) |
o | 2025 | Jahreszahl, abhängig von der Kalenderwoche |
O | +0000 | Zeitverschiebung |
P | +00:00 | Zeitverschiebung mit Doppelpunkt |
r | Fri, 22 Aug 2025 21:27:32 +0000 | RFC2822-Standartzeit |
s | 32 | Die Sekunde der Uhrzeit mit vorangestellter 0 |
S | nd | Anhängsel für den Tag im Monat (j) |
t | 31 | Anzahl der Tage des Monats |
T | UTC | Die aktuelle Zeitzone |
u | 000000 | Angabe Millisekunden |
U | 1755898052 | Sekunden seit 01.01.1970 (Unix-Epoche) |
w | 5 | Tag der Woche (Beginnt bei Sonntag mit 0) |
W | 34 | Die Woche des Jahres (Beginnt am Montag) |
y | 25 | Das Jahr in 2-Stelliger Form |
Y | 2025 | Das Jahr in 4-Stelliger Form |
z | 233 | Tag des Jahres (Beginn bei 0 am 01.Januar) |
Z | 0 | Das Offset der Zeitzone |
Wollen wir nun eines der Zeichen mit ausgeben lassen, so müssen wir es vorher entwerten, weil es sonst als Datumselement gewertet wird.
$a = date("\D\a\\t\u\m: d.m.Y");
echo $a;
Besondere Vorsicht bei dem \t. Es ist das Zeichen für Tabulator und deshalb muss auch der Backslash vorher entwertet werden.
Aktuelles Datum mit DateTime
Bei "DateTime
" handelt es sich um ein Objekt, welches alternativ zu "date()
" verwendet werden kann.
Für ein neues Datum instanziieren wir das Objekt mit "new
".
Über die Methode "format
" können wir uns das Datum formatiert ausgeben lassen.
Die Optionen von "format
" sind an den Optionen von "date()
" angelehnt.
$a = new DateTime();
echo $a->format("d.m.Y");
Zeitstempel
Der aktuelle Zeitstempel beschreibt die vergangene Zeit vom 01.01.1970 um 00:00:00.
Um den Zeitstempel anzufragen, reicht die Methode "time()
".
$a = time();
echo $a;
Den Zeitstempel können wir uns auch über das Objekt "DateTime
" ausgeben lassen.
$a = new DateTime();
echo $a->getTimestamp();
Datum formatieren
Das Datumsformat ist nicht nur für den Benutzer der Seite wichtig, sondern auch für Datenbank, mit der das System verbunden ist. Im weiteren Verlauf wird aufgezeigt, wie das Datum im deutschen Format und auch in deutscher Schreibweise von PHP ausgegeben wird.
Weiter mit reguläre Ausdrücke