Java8でカレンダーを表示してみる
Java8公開されましたね。
Java8になって日付APIが追加されたので、どんな感じで使えるのかカレンダー表示アプリを作ってみました。 ソースコードはgithubにあります。
いままではjava.util.Dateとjava.util.Calendarで常に日付と時間がセットになっていましたが、新しいAPIは、java.time.LocalDateとjava.time.LocalTimeで日付と時間にゲンミツに分かれています。
カレンダーアプリを作るにあたっては、「年/月」を表示するラベルがあって月毎に移動できるようにしたのですが、java.time.YearMonthなんていうクラスまであります。LocalDateが年月日なのに対してYearMonthは年月だけなんですね。こんな感じで使えます。
java.time.chrono.JapaneseDateはYearMonthから直接は変換できません。日を指定してLocalDateに変換してからの変換になります。平成は1989-01-08から現在まで等とゲンミツに表現されるからなんですね。