RSSフィードのpubDateの日付書式「Mon, 29 Mar 2010 04:34:00 +0000」を任意の日付フォーマットへ変換する。
import java.text.SimpleDateFormat; import java.util.Date; import org.apache.http.impl.cookie.DateParseException; import org.apache.http.impl.cookie.DateUtils; /** RSSフィードの日付フォーマットパターン */ private String pattern[] = { DateUtils.PATTERN_RFC1123 }; // ItemからpubDateを取得してフォーマット String pubdate = item.getPubdate().toString(); String formattedPubdate = ""; try { Date date = DateUtils.parseDate(pubdate, pattern); SimpleDateFormat sdf = new SimpleDateFormat("MMM d, yyyy 'at' HH:mm"); formattedPubdate = sdf.format(date); } catch (DateParseException e) { e.printStackTrace(); }フォーマットした文字列はViewに設定するなどして表示する。
// item_pubdateに則ってTextView生成 TextView pubdateView = (TextView) view.findViewById(R.id.item_pubdate); pubdateView.setText(formattedPubdate);タイムゾーンの設定により、日付がパースされる結果は動的に変わる。
タイムゾーンをGMT+09:00に設定している場合とGMT+1:00に設定している場合とでは、パース後の日付情報が異なっている。DateUtilsのparseDateメソッド、便利ですねぇ。




0 件のコメント :
コメントを投稿