将时间转换为当地时间

问题描述 投票:0回答:1

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

java android
1个回答
0
投票

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

new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss Z")
© www.soinside.com 2019 - 2024. All rights reserved.