【发布时间】:2020-10-18 13:31:06
【问题描述】:
我的 PHP 代码
$now = new \DateTime();
echo $now->format('d. M.')
我得到了什么
12. Dec.(英文)
想要我想要
12. Dez.(德语)
我目前的解决方案
$formatter = new \IntlDateFormatter(
"de-DE",
\IntlDateFormatter::FULL,
\IntlDateFormatter::NONE,
"Europe/Berlin",
\IntlDateFormatter::GREGORIAN,
"dd. MMM"
);
echo $formatter->format($now);
问题
总是创建$formatter 有点重。
在使用$now->format('d. M.') 时调用“月份”时是否可以更改php.ini(或类似的)中的某些内容以始终获取德语单词?
我已经在php.ini 中尝试过这个(但没有帮助):
intl.default_locale = de
【问题讨论】:
-
你的方法很好。
-
呃...您不需要在每次操作日期时都创建格式化程序。对于整个应用程序来说,一个格式化程序实例就足够了。
-
没错,但对于其他所有“格式”,我都需要一个额外的格式。我的问题是,如果有一种通用的方法可以使 PHP 更加国际化,而不是每次都说,我希望月份/工作日不是英语
标签: php date datetime locale intl