素敵なサムシングを独断と偏見で一方的に紹介するブログ(´・ω・`)

投稿日: 2018年10月1日
最終更新日:

【Java8の日付操作】DateやCalendarを使うのを止めてLocalDateとLocalDateTimeを使って幸せになろう【初期化】

YouTubeも見てね♪

ねこじゃすり

created by Rinker
PEPPY(ペピイ)
¥3,850 (2024/03/15 19:03:46時点 Amazon調べ-詳細)

猫を魅了する魔法の装備品!

Anker PowerCor

created by Rinker
Anker
¥4,990 (2024/03/15 15:06:44時点 Amazon調べ-詳細)

旅行には必須の大容量モバイルバッテリー!

【最新機種】GoPro hero11 Black

created by Rinker
GoPro(ゴープロ)
¥62,000 (2024/03/15 19:06:06時点 Amazon調べ-詳細)

最新機種でVlogの思い出を撮影しよう!

モンスターエナジー 355ml×24本 [エナジードリンク]

created by Rinker
モンスター
¥4,748 (2024/03/15 19:03:48時点 Amazon調べ-詳細)

脳を活性化させるにはこれ!

Bauhutte ( バウヒュッテ ) 昇降式 L字デスク ブラック BHD-670H-BK

created by Rinker
Bauhutte(バウヒュッテ)
¥13,861 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

メインデスクの横に置くのにぴったりなおしゃれな可動式ラック!

BANDAI SPIRITS ULTIMAGEAR 遊戯王 千年パズル 1/1スケール

created by Rinker
BANDAI SPIRITS(バンダイ スピリッツ)
¥7,180 (2024/03/15 15:06:46時点 Amazon調べ-詳細)

もう一人の僕を呼び覚ませ!!

MOFT X 【新型 ミニマム版】 iPhone対応 スマホスタンド

created by Rinker
MOFT
¥2,880 (2024/03/15 19:06:03時点 Amazon調べ-詳細)

Amazon一番人気のスマホスタンド!カード類も収納出来てかさ張らないのでオススメです!

Java8で日付操作周りが一新

以前はnew Date()Calendar.getInstance()を使って現在時刻を取得していたと思いますが、もともとのAPIがイケてない作りとなっていたため、日付操作周りで使いづらさ満点でした。


Dateクラスのメソッドである程度の日付操作は出来ていたのですが、Java8が出た現時点では現在は@Deprecated非推奨メソッドとなっています。

また、Calendarクラスについては@DeprecatedがついていないのでJava8でも利用出来ますがとても使いにくく、かっこ悪いです。笑

+ 1 と特にダサい。笑

なので、Java8以降の場合は上記の2つの方法を使わずに新しく追加されたAPIを利用するのが当たり前となっています。

日付操作API

LocalDate

java.time.LocalDate日付操作をする際に使うクラスとなっております。

時間を指定してのインスタンスの作成も簡単に出来ます。

生成したインスタンスに対する操作が直感的かつシンプルにかけるので綺麗ですね♪

文字列日付からのパースもとても簡単です。
この便利さはかなり衝撃的です。

LocalDateTime

java.time.LocalDateTime日時操作をする際に使うクラスとなっております。

LocalDateと同様に時間を指定してのインスタンスの作成も簡単に出来ます。

こちらも生成したインスタンスに対する操作が直感的かつシンプルにかけます。
分かりやすい。。。!

こちらも文字列日時からのパースはお手の物です♪

終わりに

以上のように、今まで複雑だった日付周りの操作がとても簡潔になります。
簡潔になるということはバグ率の低下や可読性の向上にも繋がります。

また、今回紹介しなかった便利なメソッドは他にもありますので、また改めて記事にまとめようかと思います♪

今からJavaで開発をする際には少なくともJava7以前で進めることはないと思うので、是非この新しい日付APIを使ってみてください。

CATEGORIES & TAGS

IT