無法解析的日期:解決Java 中的日期解析異常
嘗試解析日期字串時,可能會遇到「無法解析的日期」例外,儘管看起來是有效的日期格式。當電腦上的預設區域設定與日期格式字串中使用的區域設定不同時,通常會出現此問題。
在您的具體情況下,以下程式碼示範了該問題:
import java.util.Date; String strDate = "Wed, 09 Feb 2011 12:34:27"; Date date; SimpleDateFormat FORMATTER = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss"); try { date = FORMATTER.parse(strDate.trim()); System.out.println(date); } catch (ParseException e) { e.printStackTrace(); }
運行上面的程式碼會導致以下異常:
java.text.ParseException: Unparseable date: "Wed, 09 Feb 2011 12:34:27" at java.text.DateFormat.parse(DateFormat.java:337)
要解決此問題,您需要在建立SimpleDateFormat 時指定適當的區域設定目的。在這種情況下,您應該如下使用Locale.ENGLISH:
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss", Locale.ENGLISH);
透過指定英文區域設置,您可以確保根據英文語言約定解釋日期模式,無論您的預設區域設定如何系統。這將使程式碼成功解析日期字串。
以上是如何解決Java中的「無法解析日期」異常?的詳細內容。更多資訊請關注PHP中文網其他相關文章!