用Joda Time解析Twitter日期

Bar*_*lom 6 java twitter jodatime date-parsing

Twitter给了我一个日期,比如"Wed,2013年3月27日15:12:14 +0000".我正在尝试解析它:

DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss ZZZZZ").withLocale(Locale.ENGLISH);
Run Code Online (Sandbox Code Playgroud)

但它失败了:

Invalid format: "Wed, 03 Apr 2013 10:35:35 +0000" is malformed at "+0000"
Run Code Online (Sandbox Code Playgroud)

我试着更换ZZZZZz,ZZZZ,但没有任何变化.这些日期可以用这种方式解析吗?

Rei*_*eus 7

虽然您已经说过Z在格式模式中使用了单个,但这可以:

DateTimeFormatter format = 
    DateTimeFormat.forPattern("EEE, dd MMM yyyy HH:mm:ss Z").withLocale(Locale.ENGLISH);
DateTime dateTime = format.parseDateTime("Wed, 27 Mar 2013 15:12:14 +0000");
Run Code Online (Sandbox Code Playgroud)

解析此格式Z时,单个时区字符就足够了,4无效:

Z时区偏移/ id区-0800; -08:00; 美洲/洛杉矶

有关更多信息,请参阅javadoc