40

RSSフィードからJavaのDateオブジェクトへのpubDateを解析するにはどうすればよいですか。

RSSフィードの形式:2010年4月24日土曜日14:01:00 GMT

私が今持っているもの:

DateFormat dateFormat = DateFormat.getInstance();
Date pubDate = dateFormat.parse(item.getPubDate().getText());

しかし、このコードは、メッセージUnparseabledateでParseExceptionをスローします

4

3 に答える 3

66

次のクラスを使用して、解析しようとしている日付形式を定義できます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);
于 2010-04-24T18:18:48.477 に答える
14

RFC822準拠の日付が必要な場合は、次のことを試してください。

DateFormat dateFormatterRssPubDate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
于 2011-10-28T09:08:14.040 に答える
7

Java 8 LocalDateTimeを使用できる幸運な人のために:

LocalDateTime localDateTime = LocalDateTime.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse("Sat, 24 Apr 2010 14:01:00 GMT"));
于 2016-08-09T07:03:34.467 に答える