Sprung zum Inhalt

Webdesign nach Maß von webdesign weisshart

Datum formatieren mit PHP

Symbolbild

Tipps rund um die Datumsanzeige für PHP-Coder

Das Datum wird auf meinen Seiten generell *) in der Form
"Wochentagsname, Tag. Monatsname Jahr"
angezeigt. Weil ich finde, dass es in dieser Form am schnellsten erfasst wird. (Ja, man kann und darf diesbezüglich anderer Meinung sein. Aber auch dann gilt das im Folgenden Beschriebene.)

So weit, so gut. Was aber, wenn das Datum von einem PHP-Script generiert wird?

Bei der Arbeit mit PHP liegt ein Datum häufig als Unix-Timestamp vor. Der Unix-Timestamp gibt die Anzahl der Sekunden an, die seit dem 1. Januar 1970 vergangen sind. Nein, niemand muss den Timestamp selbst ausrechnen — obwohl das natürlich möglich wäre: Achtung! Schaltjahre berücksichtigen! :-)

Viele PHP-Funktionen erzeugen das Datum als Timestamp. So wird zum Beispiel das Änderungdatum einer Datei mittels filemtime("Dateiname") als Timestamp ausgegeben.

Man kann mittels PHP einen Timestamp auch aus einem Datums-String, einem in lesbarer Form vorliegenden Datum, erzeugen. Eine einfache Funktion für diesen Zweck ist "strtotime".
Beispiel:
echo strtotime("28.04.2017");
erzeugt den Timestamp 1492639200.

Und wie wird nun aus 28.04.2017 bzw. dem entsprechenden Timestamp das von mir bevorzugte Format
"Wochentagsname, Tag. Monatsname Jahr"?
Ganz einfach: strftime (Format,[Timestamp])
Beispiel:
setlocale(LC_TIME, "de_DE.UTF-8");
echo strftime("%A, %d. %B %Y");
gibt den heutigen Tag aus: Sonntag, 17. Dezember 2017
(setlocale, aufgerufen vor strftime, stellt die richtige / gewünschte Sprache für Wochentags- und Monatsnamen ein.)

Auch die Kombination von strftime und strtotime ist natürlich möglich. Das Datum in Kurzschreibweise eingeben, und formatiert ausgeben:
Beispiel:
$mein_datum = "28.04.2017";
echo strftime("%A, %d. %B %Y", strtotime($mein_datum));
erzeugt: Freitag, 28. April 2017

Nachtrag 22.10.2017

Um auf den kleinen Monitoren von Smartphones Platz zu sparen, zeige ich dort das Datum wieder in der Kurzform TT.MM.YYYY an.

Creative Commons Lizenzvertrag
Artikeltext (nicht Bilder!) Creative Commons CC BY-NC-SA 3.0 DE

Ihr Kommentar zu diesem Artikel:

Über Ihren Kommentar zu diesem Artikel freue ich mich. Ich behalte mir jedoch vor, Spam kommentarlos zu entfernen.