Java 使用SimeplDateFormat解析严格的日期

Java 使用SimeplDateFormat解析严格的日期,java,apache-commons-dateutils,Java,Apache Commons Dateutils,我正在尝试解析日期,但只得到一个ParseException。我在和ApacheDateutils合作 我尝试解析的日期代码是: Locale.setDefault(Locale.ENGLISH); System.out.println(Locale.getDefault()); String[] list = {"EEE, d MMM yyyy HH:mm:ss Z"}; try { DateUtils.p

我正在尝试解析日期,但只得到一个ParseException。我在和ApacheDateutils合作

我尝试解析的日期代码是:

        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,但它无论如何都不起作用


为什么它不工作?

因为您使用的是严格的解析器;2013年9月20日是周五而不是周一。 从中,解析器严格解析-它不允许诸如“1996年2月942日”之类的日期

试试看


你能试试我刚试过的格式吗?我刚试过,它也不起作用!!,非常感谢。我是从推特上得知那个日期的,我不知道为什么它错了。
Date d = DateUtils.parseDateStrictly(
      "Fri, 20 Sep 2013 07:38:22 +0000",
      "EEE, d MMM yyyy HH:mm:ss Z");
System.out.println(d);
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);          
}