如何将pubDate从RSS提要解析为java中的Date对象。
RSS Feed中的格式: 周六,2010年4月24日14:01:00 GMT
我现在所拥有的:
DateFormat dateFormat = DateFormat.getInstance();
Date pubDate = dateFormat.parse(item.getPubDate().getText());
但是这段代码抛出了一个带有Unparseable date
消息的ParseException答案 0 :(得分:65)
您可以使用班级SimpleDateFormat
定义您要解析的日期格式:
DateFormat formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz");
Date date = formatter.parse("Sat, 24 Apr 2010 14:01:00 GMT");
此外,对于非英语Locale
,请务必在使用英语解析日期时使用以下内容:
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
答案 1 :(得分:13)
如果您需要符合RFC822标准的日期,请尝试以下方法:
DateFormat dateFormatterRssPubDate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
答案 2 :(得分:6)
对于可以使用Java 8 LocalDateTime的幸运者:
LocalDateTime localDateTime = LocalDateTime.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse("Sat, 24 Apr 2010 14:01:00 GMT"));