这个问题在这里已有答案:
我遇到了日期解析示例日期的问题:
SimpleDateFormat parserSDF=new SimpleDateFormat("EEE MMM dd HH:mm:ss zzzz yyyy", Locale.getDefault());
parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
得到例外
我想把这个格式的日期解析为yyyy-MM-dd我试试:
SimpleDateFormat parserSDF = new SimpleDateFormat("yyyy-MM-dd", Locale.ENGLISH);
Date date = parserSDF.parse("Wed Oct 16 00:00:00 CEST 2013");
take:java.text.ParseException:Unparseable date:“Wed Oct 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
。
因此,日期字符串中的英语单词会导致日期不可解析。
适当的波兰日期String
会是这样的
"Wt paź 16 00:00:00 -0500 2013"
否则,将你的Locale
更改为Locale.ENGLISH
,以便SimpleDateFormat
对象可以用英语单词解析String
日期。
您可以通过使用Locale.default
来决定使用locale.ENGLISH
而不是使用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
结果将是:Z
。或者您可以使用其字段决定要打印此日期的哪一部分。
希望这有帮助:)