首頁 >Java >java教程 >為什麼 Java SimpleDateFormat 總是將月份與 AD 日期解釋為一月?

為什麼 Java SimpleDateFormat 總是將月份與 AD 日期解釋為一月?

Linda Hamilton
Linda Hamilton原創
2024-10-24 07:58:02592瀏覽

Why is Java SimpleDateFormat Consistently Interpreting the Month as January with AD Dates?

Java SimpleDateFormat 總是誤認為月份

當開發人員處理來自各種來源的日期值時,他們可能會遇到Java SimpleDateFormat 類別的實例錯誤地解釋了日期的月份部分。將日期從 Active Directory (AD) 轉換為 Java 日期時,此問題可能會出現。

提供的程式碼片段利用SimpleDateFormat 將AD 日期值解析為Java Date 物件:

<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/DD");</code>

但是,提供的日期格式模式(「yyyy/MM/DD」)假設月份名稱為大寫“M”。這與 AD 日期值中使用的小寫「M」衝突,導致每個解析的日期將月份錯誤地解釋為一月。

解決問題

為了解決此差異,程式碼需要對 AD 日期採用正確的格式模式,即使用小寫「m」來指定月份。此外,日期分隔符號應符合 AD 標準。因此,修改後的格式模式應為:

<code class="java">SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd");</code>

透過此調整,SimpleDateFormat 將正確解析 AD 日期值,解決始終將月份誤認為一月的問題,並確保日期轉換準確。

以上是為什麼 Java SimpleDateFormat 總是將月份與 AD 日期解釋為一月?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn