繁体   English   中英

用Joda Time解析Twitter日期

[英]Parsing a Twitter date with Joda Time

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

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

但它失败了:

Invalid format: "Wed, 03 Apr 2013 10:35:35 +0000" is malformed at "+0000"

我尝试用zZZZZ替换ZZZZZ ,但没有变化。 这些日期可以用这种方式解析吗?

虽然您已经说过在格式模式中使用过单个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");

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

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

有关更多信息,请参阅javadoc

虽然接受的答案是正确的,但我从API获得的推特日期却与众不同。 此备用解析器适用于该格式:

DateTimeFormatter format = DateTimeFormat.forPattern("EE MMM dd HH:mm:ss Z yyyy").withLocale(Locale.ENGLISH)
String input = "Sat Jan 14 01:50:54 +0000 2017"
DateTime dateTime = format.parseDateTime(input)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM