Joda-Timeがいい
Javaで日付処理するのって面倒ですよね。
Joda-Timeは日付のインスタンス生成から計算、出力フォーマット処理までワンライナーでいける素敵なライブラリのようです。
詳細は下記のIBMの記事を読んでください。素敵です。
http://www.ibm.com/developerworks/jp/java/library/j-jodatime.html
個人的には下記のように書けるのが楽でいい感じです。
*文字列から日付型への変換が楽
import org.joda.time.DateTime; DateTime dt = new DateTime("2010-04-05T13:20:25"); DateTime dt2 = new DateTime("2010-04-05"); //これでももちろんいい
ISO8601に則った書式であれば、上記のように簡単にパースできます。
参考(JavaDoc):
http://joda-time.sourceforge.net/api-release/org/joda/time/format/ISODateTimeFormat.html#dateTimeParser()
*日付の計算、出力まで一行で書けて楽
import org.joda.time.DateTime; //今月の末日を取得したい場合 DateTime dt = new DateTime().dayOfMonth().withMaximumValue(); //指定された日の90日後の週の最初の日を取得したい場合 DateTime dt2 = new DateTime("2010-04-05").plusDays(90).dayOfWeek().withMinimumValue(); //指定された月(下記では2010年4月)の末日を取得し、特定の書式にフォーマットした文字列を作りたい場合 String dtstr = new DateTime(2010,04,1,0,0,0,0).dayOfMonth().withMaximumValue().toString("yyyy年MM月dd日");
また、JDK標準のCalendarクラスやjava.util.Dateとの相互運用が可能(Jodaを使って各々のインスタンスを作れる!)らしい。
既存のコードにも簡単に挿入できそうですね。
今日始めて触ったのでまだ分かってないことも多いですが、かなり便利だと思います。