首页 >后端开发 >php教程 >如何格式化 DateTime 对象以尊重系统的默认区域设置?

如何格式化 DateTime 对象以尊重系统的默认区域设置?

Patricia Arquette
Patricia Arquette原创
2024-12-03 11:24:10961浏览

How Can I Format a DateTime Object to Respect the System's Default Locale?

格式化 DateTime 对象,尊重 Locale::getDefault()

在这种困境中,用户试图考虑系统的默认区域设置来格式化 DateTime 对象。目前,用户使用 format() 方法,但它不尊重所需的语言翻译。

他们尝试合并 Locale::getDefault() 函数来检索适当的区域设置。但是,他们找不到指示 DateTime::format 使用此设置的方法。

解决方案

建议的解决方案涉及使用 Intl 扩展来格式化日期。此扩展本质上遵循所选的区域设置。或者,用户可以使用 IntlDateFormatter::setPattern() 覆盖此行为。

以下代码片段演示了所需输出格式的自定义模式:

$dt = new DateTime;

$formatter = new IntlDateFormatter('de_DE', IntlDateFormatter::SHORT, IntlDateFormatter::SHORT);
$formatter->setPattern('E d.M.yyyy');

echo $formatter->format($dt);

此代码将输出日期以所需的格式,尊重系统的德语区域设置 (de_DE)。例如,今天的日期可能会显示“Di.4.6.2013”​​。

以上是如何格式化 DateTime 对象以尊重系统的默认区域设置?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn