首頁 >後端開發 >php教程 >如何格式化 DateTime 物件以尊重系統的預設區域設定?

如何格式化 DateTime 物件以尊重系統的預設區域設定?

Patricia Arquette
Patricia Arquette原創
2024-12-03 11:24:101007瀏覽

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