RSSフィードからJavaでDateオブジェクトにpubDateを解析するにはどうすればよいですか。
RSSフィードの形式:2010年4月24日、土曜日14:01:00 GMT
現在私が持っているもの:
DateFormat dateFormat = DateFormat.getInstance();
Date pubDate = dateFormat.parse(item.getPubDate().getText());
しかし、このコードはメッセージUnparseable dateでParseExceptionをスローします
クラス 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
'sの場合、英語で日付を解析するときは、必ず次を使用してください。
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"));