how to convert english date format to german date

2019-02-15 02:48发布

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

2条回答
贼婆χ
2楼-- · 2019-02-15 03:30

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

查看更多
放我归山
3楼-- · 2019-02-15 03:51

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.

查看更多
登录 后发表回答