Joda无法解析RFC 2822格式

时间:2016-04-09 14:42:14

标签: java jodatime

这就是我的尝试....

DateTimeFormatter formatter = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss Z");
        dateTime = formatter.parseDateTime(pubDate);
        return dateTime;

并且结果是:(

java.lang.IllegalArgumentException: Invalid format: "Sat, 09 Apr 2016 09:43:00 +0200"
                                                              at org.joda.time.format.DateTimeFormatter.parseDateTime(DateTimeFormatter.java:945)

我为每个文档尝试了很多其他格式化选项,但仍然没有运气

1 个答案:

答案 0 :(得分:3)

您的默认Locale不得为英文(您正在解析的一周中的某个月份和星期几是英文)。您可以使用DateTimeFormatter.withLocale(Locale)覆盖本地区域设置,例如

String pubDate = "Sat, 09 Apr 2016 09:43:00 +0200";
DateTimeFormatter formatter = DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss Z");
DateTime dateTime = formatter.withLocale(new Locale("en_US")).parseDateTime(pubDate);
System.out.println(dateTime);