如何處理日期字串解析異常
將日期字串解析為Date 物件有時會導致異常,如以下程式碼所示:
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);
此程式碼拋出以下內容異常:
java.text.ParseException: Unparseable date: "Thu Sep 28 20:29:30 JST 2000"
此錯誤的原因是用於解析的模式與日期字串的格式不符。具體來說,該模式需要 3 個字母的日縮寫 (EEE) 和 3 個字母的月份縮寫 (MMM),但日期字串包含 2 個字母的日縮寫 (E) 和完整的月份名稱 (Sep)。
要修正該問題,應更新模式以符合日期的格式string:
DateFormat df = new SimpleDateFormat("EEE MMM dd kk:mm:ss z yyyy", Locale.ENGLISH);
此外,指定區域設定可確保正確解釋日期和月份縮寫,即使平台預設區域設定不是英語。
使用更正後的模式,程式碼現在成功解析日期字串並傳回 Date 對象,表示字串中指定的日期和時間,並根據當前時區進行調整:
Thu Sep 28 07:29:30 BOT 2000
以上是解析日期字串時如何修復 ParseException?的詳細內容。更多資訊請關注PHP中文網其他相關文章!