ParseException:Unparseable date:" Tue,31 Mar 2015 06:53:00 + 0200" (在偏移0处)

时间:2015-03-31 14:07:57

标签: android parsing rss

我知道之前已经讨论过这个问题,但直到现在我还没有找到问题的有效答案。 我用XMLPullParser解析RSS以获得一些体育新闻: http://www.tennisleader.fr/fil-d-infos/rss

当我将String对象格式化为Date时,我不断收到此异常。

如果我使用简单的字符串替换格式化程序,例如:"星期二,2015年3月31日11:35:47 + 0000"它正在工作的格式化程序。 这就像我在字符串对象中有错误的字符。

对于某些String pubDate字符串也可以工作,我会仔细观察同一RSS源的格式是否不同。

我将格式化程序设置为此模式:

formatter = new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss zzz", Locale.ENGLISH); //Tue, 31 Mar 2015 10:56:34 +0000  Mon, 30 Mar 2015 23:52:00 +0200

logcat的:

java.text.ParseException: Unparseable date: "Tue, 31  Mar 2015 06:12:00 +0200" (at offset 0)

格式序列:

                Date date1 = null;
                Date date2 = null;

                try {

                    String date1String = item.pubDate;
                    String date2String = item2.pubDate;

                    date1 = formatter.parse(date1String);
                    date2 = formatter.parse(date2String);

                } catch (ParseException e) {
                    e.printStackTrace();
                }

2 个答案:

答案 0 :(得分:0)

试试这段代码:

String content=DateFormatter.format(parser.getText());

parser是XmlPullParser对象。

它适用于我的应用程序。

答案 1 :(得分:0)

此代码有效!

//pubDate = Mon, 16 May 2016 15:09:00 +0200    

String strCurrentDate = getNode("pubDate", eElement);

SimpleDateFormat date_format = new SimpleDateFormat("EEE', 'dd' 'MMM' 'yyyy' 'HH:mm:ss' 'Z", Locale.US);

Date pubdate = date_format.parse(strCurrentDate);

看看这个:https://developer.android.com/reference/java/text/SimpleDateFormat.html