我知道之前已经讨论过这个问题,但直到现在我还没有找到问题的有效答案。 我用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();
}
答案 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