0

我正在尝试解析日期,但我只得到一个 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);          
        }

我所做的其中一件事是更改我的语言环境,因为我的默认语言环境是 es_ES,但它无论如何都不起作用。

为什么它不起作用?

4

2 回答 2

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);
于 2013-11-13T08:06:47.267 回答
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);          
}
于 2013-11-13T08:10:33.340 回答