Java 日期解析異常:「無法解析的日期」
嘗試使用SimpleDateFormat 解析日期時,可能會遇到「無法解析的日期」例外。當提供的日期字串與指定的日期格式不符時,會發生此錯誤。
在此特定實例中,提供的程式碼嘗試使用以下格式解析日期“Wed, 09 Feb 2011 12:34:27” “EEE,dd MMM yyyy HH:mm:ss”。執行時拋出異常,提示無法解析日期。
這個問題的原因在於解析時所使用的語言環境。預設情況下,Java 使用系統區域設置,該區域設定可能與預期的英語區域設定不同。因此,SimpleDateFormat 中使用的模式可能與目前區域設定的日期格式規則不符。
要解決此問題,建議在建立 SimpleDateFormat 實例時明確指定區域設定。這可確保套用正確的格式化規則:
import java.util.Date; import java.text.SimpleDateFormat; import java.util.Locale; ... SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
透過指定 Locale.ENGLISH,格式化程式將使用英文語言格式約定,該約定與輸入日期字串的格式相符。這使得日期可以成功解析,而不會遇到“無法解析日期”異常。
以上是為什麼我的 Java SimpleDateFormat 會拋出「無法解析的日期」異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!