SimpleDateFormat-Parsing-Mehrdeutigkeit behoben
Die SimpleDateFormat-Klasse wird zum Parsen von Datumsangaben in Java verwendet. Aufgrund der strengen Parsing-Regeln können jedoch gelegentlich Fehler auftreten. Ein häufiges Problem ist die Fehlinterpretation von Monats- und Minutenangaben.
In einem aktuellen Fall stieß ein Entwickler auf ein Problem, bei dem der Code:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss"); String str = "2010-06-13T00:00:00"; Date date = sf.parse(str);
das Datum als „Mi, 13. Januar 00“ analysierte :00:00 EST 2010“ anstelle des erwarteten „Mi, 13. Juni 00:00:00 EST“. 2010.“
Lösung
Das Problem liegt in der Datumsformatzeichenfolge. Im bereitgestellten Format steht „mm“ für Minuten, während „MM“ für Monate steht. Um dies zu korrigieren, musste der Entwickler lediglich die Formatzeichenfolge ändern in:
"yyyy-MM-dd'T'HH:mm:ss"
Dadurch wird sichergestellt, dass „MM“ für den Monat verwendet wird und der Code das Datum nun korrekt als „Mi, 13. Juni 00“ analysiert :00:00 EST 2010.“
Es ist wichtig, auf die detaillierten Formatspezifizierer in der SimpleDateFormat-Dokumentation zu achten, um eine solche Analyse zu vermeiden Fehler.
Das obige ist der detaillierte Inhalt vonWarum analysiert mein Java SimpleDateFormat „mm' als Minuten statt als Monate und wie kann ich das Problem beheben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!