Beim Versuch, ein Datum mit Java von einem Format in ein anderes zu konvertieren, einige Benutzer sind auf ein Problem gestoßen, bei dem der Monat falsch gerendert wird. Insbesondere bei der Konvertierung von einem Format wie „JJJJ-MM-TT“ in „TT MMMM JJJJ“ erscheint der resultierende Monat als folgender Monat (z. B. „01/12/21“ wird zu „01. Januar 2021“ statt „01 Dezember 2021").
Die Hauptursache für dieses Problem liegt in der falschen Angabe der fromFormat-Zeichenfolge. Im bereitgestellten Beispiel ist fromFormat als „JJJJ-MM-TT“ definiert. Allerdings bezeichnet „mm“ in der Java SimpleDateFormat-Klasse Minuten, nicht Monate. Um Monate korrekt darzustellen, sollte der Formatbezeichner „MM“ sein.
Um dieses Problem zu beheben, sollte der Code wie folgt aktualisiert werden:
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(); }
Das obige ist der detaillierte Inhalt vonWarum erzeugt meine Java-Datumsumwandlung den falschen Monat?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!