Heim >Java >javaLernprogramm >Wie kann ParseException beim Parsen von Datumszeichenfolgen behoben werden?

Wie kann ParseException beim Parsen von Datumszeichenfolgen behoben werden?

DDD
DDDOriginal
2024-11-15 17:06:031009Durchsuche

How to Fix ParseException When Parsing Date Strings?

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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn