PHP date: Cheat Sheet, Fallstricke und Tipps

30. November 2013 · Kategorien: Internet, PHP, Webentwicklung

PHP-Elefant

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: | Kategorien: Internet, PHP, Webentwicklung

Keine Kommentare zu PHP date: Cheat Sheet, Fallstricke und Tipps

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind markiert *