如何英语日期格式转换为德国日期格式在PHP
问题描述:
您好我有一个日期格式这样如何英语日期格式转换为德国日期格式在PHP
(英文格式)
15. July 2011
而且我想把它转换成在这样的德国格式
15. Juli 2011
如何将日期格式从一种语言转换为其他语言格式?
我的代码是
$date = '15. July 2011';
$newLocale = setlocale(LC_TIME, 'de_DE');
$date = strftime('%d. %B %Y',$date);
但这不是将我得到July
而不是Juli
答
如果您安装了Internationalization扩展,则可以使用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 2011
我已经更新了我的问题 –
strftime的第二个参数应该是11月29日时间戳,而不是字符串。 – matino
如果您有编码问题:在我们的CentOS设置的编码语言环境必须是'de_DE.UTF8',不'de_DE.UTF8'。 – DanFromGermany