Analyser L'objet RSS pubDate to Date en java

Comment puis-je analyser un pubDate d'un flux RSS vers un objet Date en java.

Le format dans le flux RSS: Sam, 24 avr 2010 14: 01: 00 GMT

Ce que j'ai en ce moment:

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

Mais ce code lance une ParseException avec le message Unparseable date

35
demandé sur João Silva 2010-04-24 22:00:26

3 réponses

, Vous pouvez définir le format de date que vous essayez d'analyser, à l'aide de la classe 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");

En outre, pour les non-anglais Locale's, assurez-vous d'utiliser ce qui suit lors de l'analyse des dates en anglais:

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH);
63
répondu João Silva 2010-04-24 18:26:12

Si vous avez besoin D'une date conforme à la RFC822, essayez ceci:

DateFormat dateFormatterRssPubDate = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z", Locale.ENGLISH);
13
répondu mirage59 2011-10-28 09:08:14

Pour le chanceux qui peut utiliser le Java 8 LocalDateTime:

LocalDateTime localDateTime = LocalDateTime.from(DateTimeFormatter.RFC_1123_DATE_TIME.parse("Sat, 24 Apr 2010 14:01:00 GMT"));
6
répondu Bruno Eberhard 2016-08-09 07:03:34