Java W3CDTF/RFC822DTF対応のエンコーダ、デコーダ
JavaでWebでメジャーな日時形式を扱う方法がないので作ってみました。 RSS/Atomの利用に役に立つかもしれません。
ソースコード、ライブラリはApache Licence 2.0で公開します。
http://dropdown.whoa.jp/dachicraft-toolkit/#types
使い方 W3CDTF
W3CDTF形式はW3Cが定めた日付フォーマットで、ISO8601のサブセット。 次のような日付文字列となる。 「2013-03-27T10:10:10+09:00」。
Atom等で頻繁に使われる割にはJavaでは標準機能として搭載されない。
W3CDate date; // 日時とタイムゾーンを併せ持つ。 date = W3CDTF.parse(W3CDTF文字列); // 年月日のみの表現も可能、もちろん解析もOK。 W3CDTF.toString(date, W3CDTFType.FULL);
使い方 RFC822DTF
RFC822の日付フォーマット。RFC822のサブセットである。RSS2やHTTPではRSS2では標準の日付形式として使用される。 次のような日付文字列となる。「Fri, 02 Aug 2013 00:00:00 +0900」
こちらも割と見かける割にはJavaでは標準機能として搭載されない。
W3CDate date; // 日時とタイムゾーンを併せ持つ。 date = RFC822DTF.parse(W3CDTF文字列); // 日付文字列へエンコード RFC822DTF.toString(date);
使い方 W3CDate
日時とタイムゾーンの情報を併せ持つ。
W3CDate date = new W3CDate(); // 日時とタイムゾーンを併せ持つ。 date.getTime(); // java.util.Dateの取得 date.getTimeZone(); // TimeZoneの取得