Reputation: 25267
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
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
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