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中文網其他相關文章!