Reputation: 18016
Hi I have a date format like this
(in English format)
15. July 2011
And I want to convert it in German format like this
15. Juli 2011
How to convert date format from one laguage to other language format?
My Code is
$date = '15. July 2011';
$newLocale = setlocale(LC_TIME, 'de_DE');
$date = strftime('%d. %B %Y',$date);
But this is not converting I am getting July
rather than Juli
Upvotes: 3
Views: 16140
Reputation: 17725
You could use setlocale
function before calling date
function:
$newLocale = setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');
EDIT: Quote from strftime
docs:
This example will work if you have the respective locales installed in your system.
Upvotes: 6
Reputation: 6771
If you have the Internationalization extension installed, you can use the IntlDateFormatter class.
It's really quite powerful and actually displays the date and time in the correct format for the locale you're targeting.
An example, for Germany might be:
// create format
$fmt = datefmt_create("de_DE", IntlDateFormatter::FULL, IntlDateFormatter::NONE, 'Europe/Berlin', IntlDateFormatter::GREGORIAN);
// output (using current time)
echo datefmt_format($fmt , time());
Which outputs:
Dienstag, 29. November 2011
Upvotes: 6