![](/img/trans.png)
[英]SimpleDateFormat ParseException: Unparseable date Error
[英]A very confusing “ParseException: Unparseable date” (SimpleDateFormat) error
我在兩台計算機上運行帶有SimpleDateFormat.parse()
的程序:Mac OS X筆記本電腦和Windows台式機。 在桌面上,日期解析將引發ParseException
。
代碼很簡單: new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z").parse("Wed, 4 Jul 2001 12:08:56 -0700")
Locale.getDefault
在兩台計算機上都返回en_US
。
java -version
返回1.6.0_65
在Mac上,和1.7.0_21
的Windows計算機扔上ParseException
。
我完全不知道為什么ParseException
會在Windows環境中發生。 會有線索嗎?
干杯。
Windows允許混搭國際化設置,因此,如果更改日歷格式(在“區域和語言”控制面板中),它將影響Java的日期解析,而不會影響Locale.GetDefault
的結果。
這是否是正確的行為值得商bat。 它似乎沒有記錄在案。
這確實很奇怪。 我只是在運行jdk1.7.0_09的Windows 8計算機上嘗試了相同的代碼,但沒有例外,我得到了有效的結果。
public static void main(String[] args) {
try {
java.util.Date date = new SimpleDateFormat("E, d MMM yyyy HH:mm:ss Z").parse("Wed, 4 Jul 2001 12:08:56 -0700");
System.out.println("Date: " + date);
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
您是否嘗試過將它放在try {} catch {}塊中以查看異常的含義?
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.