So behandeln Sie Ausnahmen beim Parsen von Datumszeichenfolgen
Das Parsen von Datumszeichenfolgen in Datumsobjekte kann manchmal zu Ausnahmen führen, wie im folgenden Code gezeigt:
String target = "Thu Sep 28 20:29:30 JST 2000"; DateFormat df = new SimpleDateFormat("E MM dd kk:mm:ss z yyyy"); Date result = df.parse(target);
Dieser Code löst die folgende Ausnahme aus:
java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"
The Der Grund für diesen Fehler liegt darin, dass das zum Parsen verwendete Muster nicht mit dem Format der Datumszeichenfolge übereinstimmt. Konkret erwartet das Muster eine dreibuchstabige Tagesabkürzung (EEE) und eine dreibuchstabige Monatsabkürzung (MMM), aber die Datumszeichenfolge enthält eine zweibuchstabige Tagesabkürzung (E) und einen vollständigen Monatsnamen (Sep).
Um das Problem zu beheben, sollte das Muster aktualisiert werden, damit es dem Format der Datumszeichenfolge entspricht:
DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);
Zusätzlich Durch die Angabe des Gebietsschemas wird sichergestellt, dass die Abkürzungen für Tag und Monat korrekt interpretiert werden, auch wenn das Standardgebietsschema der Plattform nicht Englisch ist.
Mit dem korrigierten Muster analysiert der Code nun erfolgreich die Datumszeichenfolge und gibt ein Date-Objekt zurück, das das darstellt in der Zeichenfolge angegebenes Datum und Uhrzeit, angepasst an die aktuelle Zeitzone:
Thu Sep 28 07:29:30 BOT 2000
Das obige ist der detaillierte Inhalt vonWie kann ParseException beim Parsen von Datumszeichenfolgen behoben werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!