将时间转换为当地时间

时间:2017-12-17 15:32:26

标签: java android

我想将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解决方案,但它没有奏效。任何帮助表示赞赏。 谢谢!

1 个答案:

答案 0 :(得分:0)

您可以尝试使用此模式解析整个日期

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z")