php - can't get date in german language

user2871190 picture user2871190 · Feb 9, 2014 · Viewed 13.8k times · Source

I try to display a date in German but it doesn't work. I'm using PHP with XAMPP.

These are my approaches:

function get_Datetime_Now() {
setlocale (LC_TIME, "de_DE");
$tz_object = new DateTimeZone('Europe/Zurich');
$datetime = new DateTime();
$datetime->setTimezone($tz_object);     
return $datetime->format('l, d. F Y  ');
}

echo get_Datetime_Now();

It returns "Sunday, 09. February 2014" but I wan't "Sonntag, 09. Februar 2014" (German language).

I also tried this:

setlocale(LC_TIME, "de_DE");
echo strftime("%A, %d. %B %Y");

It also returns "Sunday, 09. February 2014". I saw many examples on the internet, which don't work (at least on my environment).

Are there settings that I should check?

I appreciate any help!

Thx in advance, shivan

Answer

Tim Bodeit picture Tim Bodeit · Feb 9, 2014

You are probably using a windows machine which has different language codes in PHP than a Unix based one.

Try:

setlocale(LC_TIME, 'de_DE', 'deu_deu');

This will first try to set it to 'de_DE' (Linux/Unix) and have the 'deu_deu' code as a fallback for windows (PHP Version >= 4.3).

Example in the german PHP documentation