我目前正在开发一个基本的RSS Feed程序,该程序显示推文,提供可解析的Twitter源代码。我目前正在做的是重新格式化日期。当我检索pubDate时,它以“EEE,d MMM yyyy HH:mm:ss Z”的形式解析。我想要做的是重新格式化,以便当我在GUI上显示它时,它显示为“MM / dd / yyyy HH:mm”。我该怎么做呢?这是必要的代码块:
try {
builder = factory.newDocumentBuilder();
Document feedDocument = builder.parse(sourceListItem);
XPathFactory xpfactory = XPathFactory.newInstance();
XPath xpath = xpfactory.newXPath();
String countStr = xpath.evaluate("count(/rss/channel/item)", feedDocument);
int itemCount = Integer.parseInt(countStr);
for(j=1; j<=itemCount; j++) {
try {
String title = xpath.evaluate("/rss/channel/item[" + j + "]/title", feedDocument);
String link = xpath.evaluate("/rss/channel/item[" + j + "]/link", feedDocument);
String date = xpath.evaluate("/rss/channel/item[" + j + "]/pubDate", feedDocument);
DateFormat df = new SimpleDateFormat("EEE, d MMM yyyy HH:mm:ss Z");
Calendar c = Calendar.getInstance();
Date d = df.parse(date);
DateFormat df2 = new SimpleDateFormat("MM/dd/yyyy HH:mm");
String dateFormat = df2.format(d);
c.setTime(d);
RSSItemClass rssItem = new RSSItemClass(title, link, c);
rssList.add(rssItem);
} catch (ParseException e) {
badSourceList.add(sourceListItem);
}
}
} catch (ParserConfigurationException e) {
badSourceList.add(sourceListItem);
}
答案 0 :(得分:3)
由于您似乎在GUI中“显示”了Calendar
对象的值,因此您不必在发布的方法中格式化日期,而只需将日期转换为字符串中的日期。 GUI。
如何完成这取决于您正在使用的GUI框架,但很可能您需要在某处使用此代码:
DateFormat df2 = new SimpleDateFormat("MM/dd/yyyy HH:mm");
String formattedDate = df2.format(calendar.getTime());
calendar
是c
传递给new RSSItemClass(title, link, c);
答案 1 :(得分:0)
您的代码中有String dateFormat = df2.format(d);
行,但您并未在任何地方使用dateFormat
变量。