嗨我有这样的日期格式
(英文格式)
15. July 2011
我想用德语格式转换它
15. Juli 2011
如何将日期格式从一种语言转换为其他语言格式?
我的代码是
$date = '15. July 2011';
$newLocale = setlocale(LC_TIME, 'de_DE');
$date = strftime('%d. %B %Y',$date);
但这不是转换我得到July
而不是Juli
答案 0 :(得分:6)
您可以在调用date
函数之前使用setlocale
函数:
$newLocale = setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');
编辑:来自strftime
文档的报价:
如果系统中安装了相应的语言环境,则此示例将起作用。
答案 1 :(得分:4)
如果您安装了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年11月29日