Asakusa Framework Advent Calendar 2015の12日目です。
Java8では、日付を扱う新しいクラス群であるDate&Time APIが導入されました。日付・時刻といった「ある時点」を扱うクラスの他に、期間を表すPeriod・Durationといったクラスも追加になっています。
Scalaには、日付を扱う専用のクラスは無かったように思います。Javaのクラスをそのまま使う感じですかね。
ただ、期間を表すdurationというパッケージはあります。いまいち使い方を分かっていないんですけれども^^;
AsakusaFWには、日付を表すDateと、日付時刻を表すDateTimeが用意されています。
また、DateやDateTimeにも、DateOptionやDateTimeOptionというOption系クラスが存在しています。
よく勘違いしてしまうんですが、AsakusaFWのDateは、java.util.Dateではなくcom.asakusafw.runtime.value.Dateです。1970年からではなく、西暦1年1月1日からの経過日数で値を保持しています。
DateTimeは秒まで保持します。ミリ秒以下は保持できません。
java.util.DateやCalendarとの変換は、経過日数(や秒数)を使って計算します。基本的なところはAsakusaFWのDateUtilで出来ますが。
AsakusaFWの対象JavaバージョンはJava7(JDK1.7)なので、今のところ、Java8のDate&Time APIとの変換方法はありません。(ただ、DateUtilの機能の少なさを見ると、Java8になっても変換方法はそんなに用意されないような気がします^^; てゆーか、Java8の日付関係クラスが多すぎるんですが(爆))
※コメント投稿者のブログIDはブログ作成者のみに通知されます