Enrique Moreno Tent
Enrique Moreno Tent

Reputation: 25267

Strftime with German Date

im trying to print the date in german with strftime. I already tried

date_default_timezone_set('Europe/Berlin');
setlocale(LC_ALL, "de_DE", "de_DE@euro", "deu", "deu_deu", "german");
$time = strftime("%B", 1323956220);
echo $time;  //I want to see "Dezember", but I see "December" instead

but it didnt work. Am I missing something?

Edit: sorry I missed the strftime funciton :P

Upvotes: 4

Views: 6211

Answers (2)

middus
middus

Reputation: 9121

My guess: the locale is actually called de_DE.utf8 on your machine (it is on mine). Does this work for you?

setlocale(LC_ALL, "de_DE.utf8"); // or LC_TIME
echo strftime('%B', 1323956220);

BTW: on Linux you can use locale -a to see what's available.

Upvotes: 11

Moz Morris
Moz Morris

Reputation: 6761

You'll need the Internationalization extension installed, but I recommend using the IntlDateFormatter class

Have a look at the manual first, but a quick example might look like this:

$fmt = datefmt_create("de_DE", IntlDateFormatter::FULL, IntlDateFormatter::NONE, 'Europe/Berlin', IntlDateFormatter::GREGORIAN);
echo datefmt_format($fmt , time());

Which outputs this:

Donnerstag, 15. Dezember 2011

Upvotes: -1

Related Questions