php - 更改php中日期的语言

标签 php date

我有一个 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/

相关文章:

php - 在用 PHP 中的 IF 语句更新 php 中的表内容之前如何检查?

ms-access - 如何将像 mmm-yy 这样的文本日期格式转换为 MS Access 查询中的日期?

sql - 将 Hive datediff() 转换为月份

php - 我无法使用日期获取 PHP mysql select

PHP - X 字符后的子串带有特殊字符

php - 如何检查一个数组是否包含 PHP 中的另一个数组?

php - Mysql SELECT 和 UNION 具有相似名称的多个表

c# - 返回日期和时间值的日期类型列

r - 日期的时间距离矩阵

php - 是否存在 MySQL、PHP、JSON 框架?