Java 日期格式轉換問題:轉換月份不正確
在Java 中,在不同格式之間轉換日期時,必須使用正確的日期格式說明符以確保準確的轉換。在這種情況下,問題是由於輸入日期格式字串中的格式說明符不正確而引起的。
問題:
以下程式碼片段嘗試將日期從將「yyyy-mm-dd」格式變更為「dd MMMM yyyy」格式。但是,產生的月份轉換不正確。
String dateStr = "2011-12-15"; String fromFormat = "yyyy-mm-dd"; String toFormat = "dd MMMM yyyy"; try { DateFormat fromFormatter = new SimpleDateFormat(fromFormat); Date date = (Date) fromFormatter.parse(dateStr); DateFormat toformatter = new SimpleDateFormat(toFormat); String result = toformatter.format(date); } catch (ParseException e) { e.printStackTrace(); }
預期結果:
「2011 年12 月15 日」
實際結果:
實際結果:實際結果:
實際結果:
"15 一月2011"String fromFormat = "yyyy-MM-dd";
問題是由於在輸入中使用「mm」引起的日期格式字串。在 Java SimpleDateFormat 中,「mm」代表分鐘,而不是月份。要指定月份,正確的格式說明符是“MM”。
解決方案:要解決此問題,只需更新輸入日期格式字串以使用「MM」月份: 正確結果:進行此更改後,程式碼片段將產生正確的月份轉換:「2011年 12 月 15 日」。以上是為什麼我的 Java 日期轉換會導致月份不正確?的詳細內容。更多資訊請關注PHP中文網其他相關文章!