在java中解析RSS pubDate-to-Date对象
如何在java中将pubDate从RSS提要解析为日期对象 RSS源中的格式: 2010年4月24日星期六格林威治标准时间14:01:00 我现在所拥有的:在java中解析RSS pubDate-to-Date对象,java,date,rss,date-format,Java,Date,Rss,Date Format,如何在java中将pubDate从RSS提要解析为日期对象 RSS源中的格式: 2010年4月24日星期六格林威治标准时间14:01:00 我现在所拥有的: DateFormat dateFormat = DateFormat.getInstance(); Date pubDate = dateFormat.parse(item.getPubDate().getText()); 但是这段代码抛出一个ParseException,消息为UnparseableDate您可以使用以下类定义要解析的日
DateFormat dateFormat = DateFormat.getInstance();
Date pubDate = dateFormat.parse(item.getPubDate().getText());
但是这段代码抛出一个ParseException,消息为UnparseableDate您可以使用以下类定义要解析的日期格式: 此外,对于非英语的,在用英语解析日期时,请确保使用以下内容:
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
如果需要符合RFC822的日期,请尝试以下操作:
DateFormat dateFormatterRssPubDate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
对于能够使用Java 8 LocalDateTime的幸运儿:
LocalDateTime localDateTime = LocalDateTime.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse("Sat, 24 Apr 2010 14:01:00 GMT"));
这不仅容易,而且首先也不容易出错。谢谢PS
LocalDateTime
和DateTimeFormatter
已在中向后移植到Java 6和Java 7。在索引25处无法解析“Tue,2019年3月12日10:05:52 EDT”和文本“Wed,2019年3月6日14:05:00 PST”时出现异常。@DanielDeLeón似乎同意:未处理北美地区名称和军事地区名称。我推测RSS在这里遵循RFC 822,并且允许PST、PDT、MST、MDT、CST、CDT、EST和EDT:。
LocalDateTime localDateTime = LocalDateTime.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse("Sat, 24 Apr 2010 14:01:00 GMT"));