【问题标题】:ParseException: Unparseable date: "Tue, 31 Mar 2015 06:53:00 +0200" (at offset 0)ParseException:无法解析的日期:“2015 年 3 月 31 日星期二 06:53:00 +0200”(偏移量 0)
【发布时间】:2015-06-04 21:46:47
【问题描述】:

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

当我将字符串对象格式化为日期时,我不断收到此异常。

如果我在格式化程序中替换为一个简单的字符串,例如:“Tue, 31 Mar 2015 11:35:47 +0000”,格式化程序正在工作。 这就像我在字符串对象中有错误的字符。

对于某些字符串 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();
                }

【问题讨论】:

    标签: android parsing rss


    【解决方案1】:

    此代码有效!

    //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

    【讨论】:

      【解决方案2】:

      试试这个代码:

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

      parser 是 XmlPullParser 对象。

      它在我的应用程序上运行良好。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2015-07-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多