將日期字串解析為java.util.Date 時出現非法模式字元「T」
嘗試將日期字串解析為標準時使用Java Date API 執行date 操作時,您可能會遇到異常並顯示以下訊息:「非法模式字元'T'」。出現此錯誤的原因是指定用於解析的模式包含字元“T”,該字元未被識別為有效的模式字元。
原因:
「T」日期字串中的字元表示日期和時間部分之間的時間分隔符號。但是,預設的 SimpleDateFormat 模式不包含此字元。因此,解析器將其解釋為非法模式字元。
解決方案:
要解決此問題,主要有兩種方法:
1.自訂模式:
您可以指定包含「T」字元作為時間分隔符號的自訂模式。例如:
String pattern = "yyyy-MM-dd'T'HH:mm:ssZ";
2。單引號轉義:
或者,您可以使用單引號轉義「T」字元。這樣,它將被視為文字字元而不是模式字元。
String pattern = "yyyy-MM-dd'T'hh:mm:ssZ";
附加說明:
String input = "2010-10-02T12:23:23Z"; DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd'T'HH:mm:ss'Z'"); LocalDateTime dateTime = LocalDateTime.parse(input, formatter);
應用以下方法之一應該允許您成功解析以“T”字元作為時間分隔符的日期字串。
以上是為什麼在 Java 中解析帶有'T”的日期字串會拋出'非法模式字元'T'”異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!