將日期字串解析為java.util.Date 時出現非法模式字元「T」
問題:
問題:問題: 問題:
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(); }
Instant.parse("2015-04-28T14:23:38.521Z")問題:問題:問題:問題:問>當嘗試解析日期字串時,例如「2010-10-02T12:23:23Z」使用Java Date API,拋出例外:「java.lang.IllegalArgumentException:非法模式字元'T'」。為什麼會出現這種情況,是否需要手動拆分解析字串? 答案:字串中的‘T’字符,代表時間分隔符,是問題的原因。要解決此問題,需要在模式字串中使用單引號 ('') 轉義“T”字元。正確的模式應該是「yyyy-MM-dd'T'hh:mm:ssZ」。 範例:或者,對於 Java 8 及更高版本,建議請改用 Instant.parse,它提供了一種更強大、更現代的日期解析方法。
以上是為什麼在 Java 的 Date API 中解析「2010-10-02T12:23:23Z」會拋出「非法模式字元『T』」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!