date格式parsingexception – “EEE MMM dd HH:mm:ss Z yyyy”
我得到dateparsing示例date的问题:
SimpleDateFormat parserSDF=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.getDefault()); parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
得到exception
Exacly我想parsing这个格式的date为yyyy-MM-dd我试试:
SimpleDateFormat parserSDF = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH); Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
采取:java.text.ParseException:不可parsing的date:“星期三10月16日00:00:00 CEST 2013”
好的,我转到工作:
SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.ENGLISH); Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
我将假设你的Locale.getDefault()
是pl-PL
因为你似乎在波兰。
datestring中的英文单词因此会导致无法parsing的date。
一个适当的波兰dateString
将是类似的东西
"Wt paź 16 00:00:00 -0500 2013"
否则,请将您的Locale
更改为Locale.ENGLISH
以便SimpleDateFormat
对象可以用英文单词parsingString
date。
而不是使用Locale.default
,你和其他人通常不知道哪个默认值,你可以通过使用locale.ENGLISH
来决定,因为我看到你的stringdate是英文格式。 如果你在其他国家,格式会有所不同。
这是我的示例代码:
public static void main(String[] args) { try { SimpleDateFormat parserSDF = new SimpleDateFormat("EEE MMM dd HH:mm:ss Z yyyy", Locale.ENGLISH); Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013"); System.out.println("date: " + date.toString()); } catch (ParseException ex) { ex.printStackTrace(); } }
结果将是: date: Wed Oct 16 05:00:00 ICT 2013
。 或者,您可以使用其字段来决定打印此date的哪一部分。
希望这个帮助:)
我认为最初的例外是由于Z
格式。 每个文档 :
Z Time zone RFC 822 time zone -0800
很可能你打算使用小写字母z