Datumszeichenfolgen in Datumsobjekte analysieren
Das Parsen von Datumszeichenfolgen in Datumsobjekte ist eine häufige Aufgabe in der Programmierung. Die Verwendung des falschen Musters kann jedoch zu Ausnahmen führen.
Problem
Der folgende Codeausschnitt versucht, die Datumszeichenfolge „Do, 28. September, 20:29:30 JST“ zu analysieren 2000" in ein Datumsobjekt:
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 jedoch eine Ausnahme aus:
java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"
Lösung
Das Problem liegt darin das Datumsformatmuster. Das Muster „E MM dd kk:mm:ss z yyyy“ verwendet die folgenden Abkürzungen:
In der bereitgestellten Datumszeichenfolge sind die Abkürzungen für Tag und Monat jedoch nicht 3 Zeichen lang. Um dies zu beheben, verwenden Sie das folgende Muster:
DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);
Dieses Muster gibt Folgendes an:
Zusätzliche Überlegungen
Erwägen Sie die Verwendung von „HH“ anstelle von „kk“ für die Stundendarstellung. Weitere Informationen zu Datumsformatierungsmustern finden Sie in der Java-Dokumentation.
Das obige ist der detaillierte Inhalt vonWie analysiere ich eine Datumszeichenfolge mit abgekürzten Tages- und Monatsnamen in Java?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!