JavaのDate型について徹底解説!変換・比較方法までわかる!
  • facebookページ
  • twitterページ
  • 2021.01.01

    JavaのDate型について徹底解説!変換・比較方法までわかる!

    JavaのDate型とは?

    この記事では、Javaの「Date型」について解説します。

    Date型とは、日時を扱うデータ型のことです。

    Dateクラスが用意されており、日付を表示・取得・計算するときに使えます。

    日付のデータをミリ秒まで表示できますが、「時間・分・秒」の取得や設定するメソッドの使用は推奨されていません。

    では、実際にDate型を使ってみましょう!

    次のように記述します。

    「import java.text.SimpleDateFormat」で、Dateクラスが保持している日付の情報を、指定する書式の文字列に変換できます

    そして、「import java.util.Date;」でDateクラスを使えるようにしましょう!

    「Date date = new Date();」で、Date型の変数「date」を作成しています。

    上記の部分で、Date型のデータを文字列として表示させるように処理しています。

    そして最後に、formatメソッドでdate変数を整形して、出力しています!

    実行結果は、次の通りです。

    実際の日付は、実行している日時によって変わるはずです!

    このように、Date型で日時を取得・表示できます。

    Date型で扱える範囲は?

    Date型でどこまでの範囲を扱えるの?

    こんな風に思う人もいるのではないでしょうか?

    実際に、扱える範囲を確認してみると、かなり広い範囲の日時を扱えます。

    実行結果は、次の通りです。

    このように、最小値は紀元前から、最大値は292278994年までと、十分な範囲で日時を扱っているのです。

    Date型の範囲を扱って、日時を比較する方法は次の章で解説します!

    Date型を比較する

    ここでは、Date型の比較について解説します。

    現在の日付と過去・未来の日付を比較する方法に、「beforeメソッド」「afterメソッド」があります。

    どちらも、Dateクラスのメソッドです。

    記述例は次のようになります。

    過去・未来の日付を設定するためにCalendarクラスを使用しています。

    それぞれ、任意の日時を設定しましょう。

    月(month)を設定する際、Calendarクラスだと「実際の月の-1」で表現されるため、-1をして調整しています。

    そして、「date.before(dateBefore)」の部分で、date(現在の日時)と過去(dateBefore)をbeforeメソッドで比較しました。

    合致していればtrue、そうでなければfalseが返ります。

    実行結果は次の通りです。

    意図した結果が取得できています!

    なお、Calendarクラスについては、以下の記事で詳しく解説しています!

    【関連記事】

    ▶︎【Java入門】日付情報を取得出来るCalendarクラスを理解しよう!

    Date型を変換する

    この章では、Date型をさまざまな型に変換する方法を見ていきましょう!

    Date型と文字列の変換

    Date型を文字列に変換するには、冒頭で紹介した記述例のように「SimpleDateFormat」を使います。

    文字列に変換していない場合と比較してみるとわかりやすいですよね。

    このように、任意の形式で日時を表示できます。

    表示形式は変更できませんが、「toString()メソッド」を使うことでも、文字列に変換可能です。

    表示としてはData型と同じですが、文字列に変換できました。

     

    一方、文字列をDate型にしたい場合は、「parseメソッド」が使えます。

    parseメソッドは、SimpleDateFormatクラスで実装されており、文字列をDateクラスの値として返します

    また、ParseExceptionをthrowするメソッドでもあるため、次のように記述して使いましょう。

    実行結果を見てわかるように、文字列で指定した情報がDate型に変換できています!

    また、valueOfメソッドを用いても変換可能です。

    文字列で表した日付を、SQLのDate型である「yyyy-mm-dd」で記述します。

    記述例は次の通りです。

    Date型とCalendar型の変換

    Date型からCalendar型に変換する記述例は、次の通りです。

    一方、Calendar型からDate型に変換する記述例は、次の通りです。

    「getTime()」を使用しているため、時間まで取得できています。



    優良フリーランス案件多数掲載中!
    フリーランスエンジニアの案件をお探しなら
    ポテパンフリーランス

    この記事をシェア

    • Facebookシェア
    • Twitterシェア
    • Hatenaシェア
    • Lineシェア
    pickup









    ABOUT US

    ポテパンはエンジニアと企業の最適なマッチングを追求する企業です。

    READ MORE