Heim  >  Artikel  >  Java  >  Warum führt meine Java-Datumsumrechnung zu einem falschen Monat?

Warum führt meine Java-Datumsumrechnung zu einem falschen Monat?

DDD
DDDOriginal
2024-11-10 05:21:02248Durchsuche

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

Problem bei der Konvertierung des Java-Datumsformats: Falscher Monat bei der Konvertierung

In Java ist es beim Konvertieren von Datumsangaben zwischen verschiedenen Formaten wichtig, das richtige zu verwenden Formatspezifizierer, um genaue Konvertierungen sicherzustellen. In diesem Fall entsteht das Problem durch einen falschen Formatbezeichner in der eingegebenen Datumsformatzeichenfolge.

Problem:

Der folgende Codeausschnitt versucht, ein Datum aus dem zu konvertieren Format „JJJJ-MM-TT“ in das Format „TT MMMM JJJJ“. Die resultierende Monatsumrechnung ist jedoch falsch.

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();
}

Erwartetes Ergebnis:

"15. Dezember 2011"

Tatsächliches Ergebnis:

"15. Januar 2011“

Falscher Formatbezeichner:

Das Problem wird durch die Verwendung von „mm“ in der Eingabedatumsformatzeichenfolge verursacht. Im Java SimpleDateFormat steht „mm“ für Minuten, nicht für Monate. Um Monate anzugeben, lautet der korrekte Formatbezeichner „MM“.

Lösung:

Um dieses Problem zu beheben, aktualisieren Sie einfach die Eingabedatumsformatzeichenfolge, um „MM“ zu verwenden. seit Monaten:

String fromFormat = "yyyy-MM-dd";

Richtiges Ergebnis:

Nach dieser Änderung wurde die Das Code-Snippet erzeugt die korrekte Monatskonvertierung: „15. Dezember 2011“.

Das obige ist der detaillierte Inhalt vonWarum führt meine Java-Datumsumrechnung zu einem falschen Monat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn