PHP date: Cheat Sheet, Fallstricke und Tipps
30. November 2013 · Kategorien: Internet, PHP, Webentwicklung

Die für Datumsformatierungen hilfreiche PHP date() Funktion ist sicherlich den meisten schon bekannt. Dieser Artikel präsentiert ein Cheat Sheet für mögliche Formatierungen sowie einige Tipps, die bei der Programmierung hilfreich sein könnten.
Cheat sheet für PHP date()
Wert | Tag im Monat | Tag im Monat | Wochentag | Wochentag | Tag im Jahr | Woche im Jahr | Monat | Monat | Anzahl Tage im Monat | Schaltjahr | Jahr | Jahr | Stunde | Minute | Sekunde |
Zeichen | d | j | N | w | z | W | m | n | t | L | Y | y | H | i | s |
Beispiel | 01-31 | 1-31 | 1-7 | 0-6 | 0-365 | 01-42 | 01-12 | 1-12 | 28-31 | 0-1 | 1999, 2014… | 99, 14… | 00-23 | 00-59 | 00-59 |
Das sind diejenigen Formatregeln, die erfahrungsgemäß oft verwendet werden. Es gibt noch weitere, nützliche Regeln auf der offiziellen Seite von PHP.
Fallstricke
Es gibt schon ein paar Gemeinheiten, die die PHP date Funktion bzw. ihre Formatierungsregeln mit sich bringt.
Wochentage
Wenn Wochentage formatiert bzw. auch in der Datenbank gespeichert werden müssen, sollte man sich im Team auf ein Format einigen.
So gibt
date('N', $timestamp)
die Wochentage beginnend mit 1 = Montag bis 7 = Sonntag zurück, während
date('w', $timestamp)
die Wochentage von 0 = Sonntag bis 6 = Monat zurückgibt.
Tag im Jahr
Ich habe es in der Cheat Sheet Tabelle oben rot gefärbt: Folgender Code
date('z', $timestamp);
gibt den Tag im Jahr beginnend mit 0 zurück. Das heißt, der 01.01.2014 zum Beispiel gibt eine 0 zurück. Die Zahl 365 wird nur dann für den 31.12.xxx zurückgegeben, wenn es sich um ein Schaltjahr (= 366 Tage) handelt.
Wortlaute
Die PHP date Formatierungskürzel, die Wortlaute zurückgeben, also zum Beispiel
date('D', $timestamp); // Mon-Sun date('l', $timestamp); // Sunday-Saturday date('F', $timestamp); // January-December
sind generell immer in englisch. Ich finde es sauberer, mit Zahlen zu arbeiten und habe deswegen solche Formatierungskürzel gar nicht erst in die Cheat Sheet Liste mit aufgenommen. In einer englischsprachigen Applikation oder einer Applikation mit gut umgesetzten Übersetzungsmechanismen können diese Kürzel aber natürlich recht nützlich sein.
Anzahl Tage eines Monats ermitteln
Wieviele Tage hat ein Monat? Das ist für alle Monate bis auf Februar leicht zu sagen. Für den Februar müssten wir noch einmal überprüfen, ob es sich um ein Schaltjahr handelt, das Jahr also durch 4 teilbar ist… Es geht aber viel einfacher!
Mit
date('t', $timestamp);
gibt uns PHP die Anzahl der Tage des Monats zurück. Möchten wir also beispielsweise die Anzahl an Tagen für den Februar 2012 erhalten, dann funktioniert das mit Hilfe von PHP date auf die folgende Weise:
$date = '2012-02-01'; // = 01.02.2012 $days = date('t', strtotime($date)); echo $days; // = 29
Autor: Christian Kilb | Kategorien: Internet, PHP, Webentwicklung
Hinterlasse eine Antwort