在这种困境中,用户试图考虑系统的默认区域设置来格式化 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中文网其他相关文章!