你好,我有一个这样的日期格式
(英文)
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月