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
你可以setlocale在调用date函数之前使用函数:
$newLocale = setlocale(LC_TIME, 'de_DE', 'de_DE.UTF-8');
Run Code Online (Sandbox Code Playgroud)
编辑:从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());
Run Code Online (Sandbox Code Playgroud)
哪些输出:
德国国会大厦,2011 年 11 月 29 日