我正在尝试解析以下日期:
Wed Aug 27 13:08:45 +0000 2008
(适用于 Twitter API 1.1)
我制作如下格式:
/**
* Large twitter date format sample: "Wed Aug 27 13:08:45 +0000 2008"
*/
private static final String LARGE_TWITTER_DATE_FORMAT = "EEE MMM dd HH:mm:ss Z yyyy";
但是它说:
java.text.ParseException: Unparseable date: "Sun Dec 25 14:49:28 +0000 2011" (at offset 0)
at java.text.DateFormat.parse(DateFormat.java:626)
我做错了什么?
谢谢
最佳答案
我认为这是语言环境问题。在我的机器上运行该代码毫无异常(exception)地给我预期的结果。
提示:ENGLISH
语言环境的解析效果很好
String LARGE_TWITTER_DATE_FORMAT = "EEE MMM dd HH:mm:ss Z yyyy";
String twiDate = "Wed Aug 27 13:08:45 +0000 2008";
new SimpleDateFormat(LARGE_TWITTER_DATE_FORMAT, Locale.ENGLISH)
.parse(twiDate).getHours());
针对 FRANCE locale
的解析会导致与您相同的错误
String LARGE_TWITTER_DATE_FORMAT = "EEE MMM dd HH:mm:ss Z yyyy";
String twiDate = "Wed Aug 27 13:08:45 +0000 2008";
System.out.println(new SimpleDateFormat(LARGE_TWITTER_DATE_FORMAT, Locale.FRANCE)
.parse(twiDate).getHours());
关于java - 使用 simpledateformat 进行日期解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12462010/