Heim >Java >javaLernprogramm >Warum wird beim Parsen von „2010-10-02T12:23:23Z' in der Datums-API von Java „Unzulässiges Musterzeichen ‚T'' ausgegeben?
Ungültiges Musterzeichen „T“ beim Parsen einer Datumszeichenfolge in java.util.Date
Frage:
Beim Versuch, eine Datumszeichenfolge wie zu analysieren „2010-10-02T12:23:23Z“ mit der Java Date API wird eine Ausnahme ausgelöst: „java.lang.IllegalArgumentException: Unzulässiges Musterzeichen ‚T‘“. Warum passiert das und ist es notwendig, die Zeichenfolge manuell zu teilen und zu analysieren?
Antwort:
Das „T“-Zeichen in der Zeichenfolge, das die Zeit darstellt Trennzeichen ist die Ursache des Problems. Um dieses Problem zu beheben, muss das „T“-Zeichen in der Musterzeichenfolge durch einfache Anführungszeichen ('') maskiert werden. Das korrekte Muster sollte „yyyy-MM-dd'T'hh:mm:ssZ“ lauten.
Beispiel:
String date = "2010-10-02T12:23:23Z"; String pattern = "yyyy-MM-dd'T'hh:mm:ssZ"; SimpleDateFormat sdf = new SimpleDateFormat(pattern); try { Date d = sdf.parse(date); System.out.println(d.getYear()); } catch (ParseException e) { e.printStackTrace(); }
Alternativ wird für Java 8 und höher empfohlen Verwenden Sie stattdessen Instant.parse, das einen robusteren und moderneren Ansatz zum Parsen von Daten bietet.
Instant.parse("2015-04-28T14:23:38.521Z")
Das obige ist der detaillierte Inhalt vonWarum wird beim Parsen von „2010-10-02T12:23:23Z' in der Datums-API von Java „Unzulässiges Musterzeichen ‚T'' ausgegeben?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!