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の取得