2017-12-17 11 views
0

RSSフィードからローカル時間に変換したい。 RSSフィードでの表示方法は次のとおりです。時刻を現地時間に変換する

<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ソリューションを試しましたが、うまくいきません。どんな助けもありがとうございます。 ありがとう!

答えて

0

あなたはこのパターン

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

そうで全体の日付を解析しようとすることができますが、私は、全体の日付を必要としません。私は時間を別のタイムゾーンに変換する必要があります。不可能です? –

+0

日付を解析した後、別のフォーマッタを使用して、必要な時間帯に必要なものを印刷することができます – elmorabea

関連する問題