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!