我有一个 MySQL 查询,它返回两个日期(格式均为 a-m-Y)。现在我想把这个日期翻译成我自己的语言(丹麦语)。我怎样才能做到这一点。 我已经尝试了 setlocale() 和 strftime() 函数,但它不起作用。 我知道这是一个非常基本的问题,但我真的需要帮助:)非常感谢!
最佳答案
我发现 setlocale
不可靠,因为它是按进程设置的,而不是按线程设置的(手册提到了这一点)。这意味着其他正在运行的脚本可以随时更改区域设置。解决方案是使用 IntlDateFormatter来自 intl
php 扩展。
如果需要,安装
intl
(ubuntu):sudo apt-get install php5-intl
安装您要使用的区域设置(我以意大利语为例):
sudo locale-gen it_IT
生成本地格式的日期:
$fmt = new \IntlDateFormatter('it_IT', NULL, NULL);
$fmt->setPattern('d MMMM yyyy HH:mm');
// See: https://unicode-org.github.io/icu/userguide/format_parse/datetime/#datetime-format-syntax for pattern syntax
echo $fmt->format(new \DateTime());
// Output: 6 gennaio 2016 12:10
关于php - 更改php中日期的语言,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6910912/