我正在尝试解析一个日期,但我只得到一个ParseException。我正在使用Apache DateUtils。
我正在尝试解析的日期的代码是:
Locale.setDefault(Locale.ENGLISH);
System.out.println(Locale.getDefault());
String[] list = {"EEE, d MMM yyyy HH:mm:ss Z"};
try {
DateUtils.parseDateStrictly("Mon, 20 Sep 2013 07:38:22 +0000",
list);
} catch (ParseException ex) {
System.out.println(ex);
}
我做过的其中一件事就是更改我的Locale,因为我的默认Locale是es_ES,但它无论如何都不起作用。
为什么不起作用?
答案 0 :(得分:2)
因为您使用的是严格的解析器; 2013年9月20日是星期五而不是星期一。 从api开始,解析器严格解析 - 它不允许诸如“February 942,1996”之类的日期。
Date d = DateUtils.parseDateStrictly(
"Fri, 20 Sep 2013 07:38:22 +0000",
"EEE, d MMM yyyy HH:mm:ss Z");
System.out.println(d);
答案 1 :(得分:0)
尝试,
String[] parsePattern = {"EEE, dd MMM yyyy HH:mm:ss Z"};
try {
Date parsedDate = DateUtils.parseDateStrictly("Fri, 20 Sep 2013 07:38:22 +0000", parsePattern);
System.out.println(" >>>>>>>>>>>>>>>>>>>>>>>> parsedDate : " + parsedDate);
} catch (ParseException ex) {
System.out.println(ex);
}