APIはJava8から新しく追加された日付操作のためのAPIです。日付情報で基本となるクラスは下記の3つです。java.time.LocalDatejava.time.LocalTimejava.time.LocalDateTimeLocalDateは日付、LocalTimeは時刻、LocalDateTimeは日付と時刻を保持するクラスです。上記のクラスはタイムゾーンの情報を持たないため、タイムゾーンを意識する場合は下記のクラスを使います。java.time.OffsetDateTimejava.time.ZonedDateTime上記の2つのクラスとLocalDateTimeクラスとで基本的なメソッドに関しては使い方は変わらないです。現在時刻の取得は各クラスのnowメソッドを使います。nowメソッドはいくつかのメソッドシグネチャを持ちます。[サンプルコード1]まずはパラメータなしのパターンです。}パラメータなしの場合はシステムのデフォルトタイムゾーンの現在時刻が設定されたオブジェクトを生成します。生成されたオブジェクト自体にはタイムゾーンの情報は持ちません。[実行結果1]2014-06-0715:45:30.9442014-06-07T15:45:30.944今日の時刻を元に結果が出力されていることがわかります。日付と時刻が「T」でつなげられています。[サンプルコード2]つづいてパラメータを指定するパターンです。}前半の2つはjava.time.Clockクラスのオブジェクトを指定するパターンです。サンプルではUTCとデフォルトのタイムゾーンを指定しています。後半の2つはjava.time.ZoneIdクラスのオブジェクトを指定するパターンです。サンプルでは東京とロサンゼルスのタイムゾーンを指定しています。[実行結果2]2014-06-07T06:58:57.1342014-06-07T15:58:57.1552014-06-07T15:58:57.1552014-06-06T23:58:57.157デフォルタイムゾーンと東京を指定結果が同じで、それ以外のタイムゾーンを指定した場合は違う結果が表示されます。特定時刻の取得は各クラスのofメソッドを使用します。}LocalDate#ofメソッドの場合は年・月・日を指定します。月にはintかjava.time.Monthオブジェクトを指定します。intの指定は1〜12で指定します。LocalTime#ofメソッドの場合は時・分・秒・ナノ秒を指定します。秒・ナノ秒に関しては省略することが出来ます。LocalDateTime#ofメソッドの場合は年〜ナノ秒までを指定するか、LocalDateオブジェクトとLocalTimeオブジェクトを指定します。[実行結果]2014-05-102012-07-2422:30:12.00000012313:111986-12-16T11:45:52.1234567892014-05-10T22:30:12.0000001232012-07-24T13:11それぞれ指定された値が出力されているのがわかります。時刻の指定で省略されたパラメータ部分は出力されないようです。【まとめ】Java8から日付のみ、時刻のみが扱えるようになりました。APIを使えば純粋な日付・時刻が設定できそうです。APIが対応されるようになれば、DBでの日付型、時刻型とあわせるのも楽になりそうですね。過去のバージョンから移行して、既存のソースを変更する場合には使用できません。Java8で新規にコードを書く場合は使いましょうと言うことで。月別アーカイブはてなブログをはじめよう!gloryofさんは、はてなブログを使っています。ブログを報告するスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。