嘗試使用Java 將日期從一種格式轉換為另一種格式時,某些使用者遇到了月份渲染錯誤的問題。具體來說,當從“yyyy-mm-dd”等格式轉換為“dd MMMM yyyy”時,結果月份顯示為下個月(例如,“01/12/21”變為“01 一月2021”而不是“01 2021 年12 月”)。
此問題的根本原因在於 fromFormat 字串規範不正確。在提供的範例中,fromFormat 定義為「yyyy-mm-dd」。但是,Java SimpleDateFormat 類別中的「mm」表示分鐘,而不是月份。要正確表示月份,格式說明符應為“MM”。
要解決此問題,請更新程式碼如下:
String dateStr = "2011-12-15"; String fromFormat = "yyyy-MM-dd"; String toFormat = "dd MMMM yyyy"; try { DateFormat fromFormatter = new SimpleDateFormat(fromFormat); Date date = fromFormatter.parse(dateStr); DateFormat toFormatter = new SimpleDateFormat(toFormat); String result = toFormatter.format(date); System.out.println(result); // Prints "15 December 2011" } catch (ParseException e) { e.printStackTrace(); }
以上是為什麼我的 Java 日期轉換會產生錯誤的月份?的詳細內容。更多資訊請關注PHP中文網其他相關文章!