ひしだまの変更履歴

ひしだまHPの更新履歴。
主にTRPGリプレイの元ネタ集、プログラミング技術メモと自作ソフト、好きなゲームや音楽です。

Java8 DateTime API・Scala・AsakusaFWの類似点・相違点

2015-12-12 14:35:31 | PG(分散処理)

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の日付関係クラスが多すぎるんですが(爆)) 


コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« Shafu Gradleエラー | トップ | JJUG CCC Fall 2015ボツネタ »
最新の画像もっと見る

コメントを投稿

PG(分散処理)」カテゴリの最新記事