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

Awa*_*rni 3 php datetime date date-format

嗨,我有这样的日期格式

(英文格式)

 15. July 2011
Run Code Online (Sandbox Code Playgroud)

我想像这样用德语格式转换它

15. Juli 2011
Run Code Online (Sandbox Code Playgroud)

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

我的代码是

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

但这并不是我得到的转变July而不是Juli

mat*_*ino 6

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

$newLocale = setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');
Run Code Online (Sandbox Code Playgroud)

编辑:strftime文档引用:

如果您在系统中安装了相应的语言环境,则此示例将起作用.


Moz*_*ris 5

如果安装了国际化扩展,则可以使用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());
Run Code Online (Sandbox Code Playgroud)

哪些输出:

德国国会大厦,2011 年 11 月 29 日