首頁  >  文章  >  Java  >  為什麼我的 Java 日期轉換會導致月份不正確?

為什麼我的 Java 日期轉換會導致月份不正確?

DDD
DDD原創
2024-11-10 05:21:02248瀏覽

Why does my Java date conversion result in an incorrect month?

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

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