14.6. Wie kann ich die Datumsausgabe auf Deutsch umstellen?Antwort von Johannes FrömterMit der Funktion setlocale() kann man diverse Länder- und sprachabhängigen Einstellungen vornehmen. Die Sprache wird im Format Sprache_Land bzw. Sprache_Land.Codepage angegeben und ist plattformabhängig; unter Unix/Linux sind zweibuchstabige Länderabkürzungen zu verwenden, also z.B. de_DE für Deutsch/Deutschland oder de_AT für Deutsch/Österreich, Windows dagegen erwartet German_Germany bzw. German_Austria. Die Einstellung für die Kategorie LC_TIME wirkt sich nur auf die Ausgabe von strftime() , nicht jedoch auf date() aus.
<?php
// Default
echo strftime('%A, %d. %B %Y', 1009926000);
// Ausgabe: Wednesday, 02. January 2002
Linux: setlocale(LC_TIME, 'de_DE');
*BSD: setlocale(LC_TIME, 'de_DE.ISO_8859-1');
Win: setlocale(LC_TIME, 'German_Germany');
echo strftime('%A, %d. %B %Y', 1009926000);
// Ausgabe: Mittwoch, 02. Januar 2002
Linux: setlocale(LC_TIME, 'de_AT');
*BSD: setlocale(LC_TIME, 'de_AT.ISO_8859-1');
Win: setlocale(LC_TIME, 'German_Austria');
echo strftime('%A, %d. %B %Y', 1009926000);
// Ausgabe: Mittwoch, 02. Jänner 2002
?>
Um zu testen, ob ein bestimmter locale-String auf einem System unterstützt wird, kann man den Rückgabewert von setlocale() auswerten: if (setlocale(...) === false) // dann hat's nicht funktioniert Warnung: setlocale() ist nicht thread-safe, d.h. die Einstellungen wirken sich in Multithread-Umgebungen u.U. auch auf andere, parallel laufende Scripte aus! |
||
| 14.6. Wie kann ich die Datumsausgabe auf Deutsch umstellen? http://www.php-faq.de/q/q-datum-deutsch.html |
||
| Archiv der de.comp.lang.php-FAQ Dies ist eine Archivseite von 2008 und wurde seitdem nicht geändert. Das dclp-FAQ-Team | ||