我试图解析以下日期:
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)
我做错了什么?
由于
答案 0 :(得分:4)
我认为这是区域设置问题。在我的机器上运行该代码,无异常给我预期的结果。
提示:解析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());
解析法国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());
答案 1 :(得分:-1)
以下为我工作
import java.text.ParseException;
import java.text.SimpleDateFormat;
public class Test {
private static final String LARGE_TWITTER_DATE_FORMAT = "EEE MMM dd HH:mm:ss Z yyyy";
/**
* @param args
*/
public static void main(String[] args) {
SimpleDateFormat df = new SimpleDateFormat(LARGE_TWITTER_DATE_FORMAT);
try {
System.out.println(df.parse("Wed Aug 27 13:08:45 +0000 2008 "));
} catch (ParseException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}