在這種困境中,使用者試圖考慮系統的預設區域設定來格式化 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中文網其他相關文章!