Datumsausgabe auf Deutsch in PHP

Die Datumsausgabe von Wochentagen und Monaten ist standardmäßig in Englisch. Dies kann aber umgestellt werden, sofern auf dem Server die entsprechenden Sprachpakete installiert sind.

Dazu wird über die Funktion setlocale auf Deutsch umgestellt und für die Ausgabe dann strftime verwendet.

<?php
// Beispielausgabe vor Umstellen auf Deutsch
echo strftime("%A, der %e. %B %G", strtotime("now"));
echo "<p>Es erfolgt nun die Umstellung auf dt. Datum:";
setlocale (LC_ALL, 'de_DE@euro', 'de_DE', 'de', 'ge');
echo strftime("%A, der %e. %B %G", strtotime("now"));
?>

Es erfolgt nun die Ausgabe vom ausgeschriebene Wochentag, vom Tag als Zahl, vom ausgeschriebenen Monat und dem Jahr – nach der Kalenderdatumsumstellung auf Deutsch sollte das Ganze in Deutsch dastehen.

Die Angabe bei strftime ist wiederholend. PHP sucht sich die entsprechende installierte Sprachversion heraus, die je nach Linux-System unterschiedlich benannt sein kann, z. B. ge, de, de_DE oder de_DE@euro.

Sollte es nicht funktionieren, kann auf dem Server das entsprechende Sprachpaket nicht installiert sein – dann heißt die Devise: Sprachpaket nachinstallieren.