Falsche Datumsformatkonvertierung: Fehlerbehebung bei der Datumsanalyse
Problem: Konvertieren eines Datums in Java von einem Format in ein anderes führt zu einem ungenauen Monat.
Eingabe und erwartete Ausgabe:
Codebeispiel:
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(); }
Diagnose:
Das unmittelbare Problem liegt innerhalb der Variable „fromFormat“. Im Code ist es fälschlicherweise auf „yyyy-mm-dd“ gesetzt, wodurch erwartet wird, dass „mm“ Minuten darstellt. Ein Datumsformat sollte jedoch „MM“ verwenden, um Monate anzugeben.
Lösung:
Um das Problem zu beheben und den richtigen Monat zu erhalten, sollte die Variable „fromFormat“ verwendet werden wie folgt geändert werden:
String fromFormat = "yyyy-MM-dd";
Durch diese Korrektur erkennt das Programm „MM“ korrekt als Monate und stellt sicher, dass das Datum mit dem entsprechenden Monatswert analysiert wird. Daraus ergibt sich anschließend die erwartete Ausgabe „15. Dezember 2011“.
Das obige ist der detaillierte Inhalt vonWarum zeigt meine Java-Datumsumrechnung den falschen Monat an?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!