我想将RSS提要的时间转换为本地时间。以下是它在RSS feed中的外观:
<pubDate>Sat, 16 Dec 2017 22:13:00 +0000</pubDate>
我想要做的是从那里获得22:13并将其转换为当地时间。这是代码:
if (current.getNodeName().equalsIgnoreCase("pubDate")) {
SimpleDateFormat inputFormat = new SimpleDateFormat("dd MMM yyyy", Locale.US);
Calendar cal = Calendar.getInstance();
cal.setTime(inputFormat.parse(currentTextContent.substring(5, 16)));
SimpleDateFormat outputFormat = new SimpleDateFormat("dd.MM.yyyy", Locale.US); // 01-12
outputFormat.setTimeZone(TimeZone.getDefault());
String postTime = outputFormat.format(currentTextContent.substring(17, 22));
rssFeedModelItem.setPubDate(outputFormat.format(cal.getTime()));
System.out.println("Time"+" "+postTime);
rssFeedModelItem.setPubTime(postTime);
}
使用此代码应用程序没有给出互联网连接错误,这是奇怪的。删除后:
String postTime = outputFormat.format(currentTextContent.substring(17, 22));
和变化
rssFeedModelItem.setPubTime(postTime);
进入这个:
rssFeedModelItem.setPubTime(currentTextContent.substring(17, 22));
该应用程序正在运行,但显示RSS时间。我也试过this解决方案,但它没有用。任何帮助表示赞赏。谢谢!
您可以尝试使用此模式解析整个日期
new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z")