Heim >Java >javaLernprogramm >Warum schlägt meine SimpleDateFormat-Analyse fehl, wenn ich „mm' anstelle von „MM' verwende?
Datumsformatierte Zeichenfolgen mit SimpleDateFormat analysieren
Beim Parsen einer Datumszeichenfolge mit SimpleDateFormat ist es wichtig, die richtigen Datums- und Zeitmuster einzuhalten. Eine häufige Gefahr ist die Verwendung von „mm“ für Monate anstelle von „MM“.
Beachten Sie den folgenden Code:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-mm-dd'T'HH:mm:ss"); String str = "2010-06-13T00:00:00"; Date date = sf.parse(str); System.out.println(" Date " + date.toString());
Hier beabsichtigen wir, die Zeichenfolge „2010-06“ zu analysieren -13T00:00:00“ vom 13. Juni 2010. Die Ausgabe zeigt jedoch „Wed Jan 13 00:00:00“. EST 2010“ statt. Dies liegt daran, dass das im SimpleDateFormat-Objekt angegebene Datumsformat „mm“ für Monate verwendet.
Um dieses Problem zu beheben, müssen wir „mm“ durch „MM“ ersetzen, um Monate anzugeben. Der korrigierte Code unten:
SimpleDateFormat sf = new SimpleDateFormat("yyyy-MM-dd'T'HH:mm:ss"); ...
Mit dieser Änderung analysiert der Code die Eingabezeichenfolge korrekt als „Mittwoch, 13. Juni, 00:00:00 EST 2010“. Denken Sie daran, dass der Großbuchstabe „MM“ in SimpleDateFormat-Mustern Monate darstellt, während „mm“ Minuten darstellt.
Das obige ist der detaillierte Inhalt vonWarum schlägt meine SimpleDateFormat-Analyse fehl, wenn ich „mm' anstelle von „MM' verwende?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!