如何在php中转换英语日期格式为德语日期格式


how to convert english date format to german date format in php

你好,我有一个这样的日期格式

(英文)

 15. July 2011

我想把它转换成德语格式,像这样

15. Juli 2011

如何将日期格式从一种语言转换为其他语言格式?

My Code is

 $date = '15. July 2011';
 $newLocale = setlocale(LC_TIME, 'de_DE');
 $date = strftime('%d. %B %Y',$date);

但这不是转换,我得到的是July而不是Juli

您可以在调用date函数之前使用setlocale函数:

$newLocale = setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');

编辑:引用自strftime文档:

如果您的系统中安装了相应的区域设置,则此示例将正常工作。

如果您安装了国际化扩展,您可以使用IntlDateFormatter类。

它真的非常强大,并且实际上以您所针对的区域设置的正确格式显示日期和时间。

例如,在德国可能是:

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

输出:

Dienstag, 29岁。2011年11月