2

私は現在、解析可能なTwitterソースを指定してツイートを表示する基本的なRSSフィードプログラムに取り組んでいます。私が現在取り組んでいるのは、日付の再フォーマットです。pubDateを取得すると、「EEE、d MMM yyyy HH:mm:ssZ」の形式で解析されます。GUIに表示すると、「MM / dd / yyyyHH: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);
}
4

2 に答える 2

3

GUIでオブジェクトの値を「表示」しているように見えるので、Calendar投稿したメソッドで日付をフォーマットする必要はありませんが、GUIで日付が文字列に変換された場合に限ります。

これがどのように行われるかは、使用しているGUIフレームワークによって異なりますが、おそらくどこかにこのコードが必要です。

DateFormat df2 = new SimpleDateFormat("MM/dd/yyyy HH:mm");
String formattedDate = df2.format(calendar.getTime());

あなたcalendarはどこ に渡りますかcnew RSSItemClass(title, link, c);

于 2012-05-31T09:41:37.233 に答える
0

コードにその行がありますが、変数はどこにもString dateFormat = df2.format(d);使用していません。dateFormat

于 2012-05-31T08:22:32.640 に答える