java.util.dateクラスについて|使い方やjava.sql.dateとの違いを解説!
  • facebookページ
  • twitterページ
  • 2021.03.01

    java.util.dateクラスについて|使い方やjava.sql.dateとの違いを解説!

    Javaのパッケージとは?

    Javaには、クラス名を一意に決められるように「パッケージ」という仕組みがあります。

    パッケージ(package)は、小包という意味があるように、クラスをグループにまとめて分類・管理できるものです。

    クラスをパッケージに所属させるためには、クラスのソースコードの先頭にpackage文を記述します。

    これによって、Javaが提供しているクラス以外に個人的に作ったクラスは、パッケージを作成しておくと、既存のクラスと簡単に区別できます。

    つまり、多くのクラスを使い分けるのに便利だと言えるのです。

    パッケージ外のクラスにアクセスする場合は、import文によって対象のクラスの場所を明示します。

    java.utilパッケージとは?

    JavaのAPIには、数多くのパッケージとクラスが含まれています。

    APIのクラスには「java.」または「javax.」で始まるパッケージ名が利用されています。

    「java.util」もその中の一つで、プログラミングを便利にする様々なクラス群が含まれています。

    util は ユーティリティのことで、英語で「役に立つもの」という意味があります。

    java.utilパッケージの使い方

    java.utilパッケージを使うには、ファイルでimport文を記述します。

    記述方法は、使いたいクラスを指定するか、「*」でutilパッケージに含まれるクラス全てを読み込めばOKです。

    java.utilパッケージのDateクラスとは?

    Dateクラスは、日時を取得したり、日時を計算したりする際に利用する日付型のクラスです。

    Dateクラスオブジェクトの記述ルールは、下記のようになっています。

    java.utilパッケージのDateクラスの使い方

    では実際に、Dateクラスの使い方を見ていきましょう。

    java.util.dateで日時を加算・減算する

    Date型の日時を加算するには、Calendarクラスのaddメソッドを使用します。

    記述方法は下記の通りです。

    第一引数には、Calendarクラスの定数である「YEAR」「MONTH」「DATE」といった値を指定します。

    そして、第二引数には加算する値を指定します。

    実際にサンプルプログラムを記述してみると、下記のように書けます。

    指定した日時が加算できているのがわかります。

    加算ではなく、減算したい場合は値をマイナスで指定すればOKです。

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

    【関連記事】

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

    java.util.dateで日時を比較する

    日時を比較するには、Dateクラスのbeforeメソッド、afterメソッド、compareToメソッドなどを使います。

    それぞれの使用例をサンプルコードで確認しましょう。

    java.util.dateで日付指定する

    日付を特定の書式で指定したい場合は、SimpleDateFormatクラスを使います。

    任意の日時フォーマットで、Date型の日時を作成可能です。

    サンプルコードで見ていきましょう。

    現在の日時を指定したフォーマットで表示させたい場合は、以下のように書けます。

    現在日時の取得について

    Javaで現在日時を取得する方法には以下の3種類があります。

    1. Dateクラス
    2. Calendarクラス
    3. LocalDateTimeクラス

    それぞれを使った記述例は以下の通りです。

    java.util.dateとjava.sql.dateの違い

    java.util.dateが日時を取得したり、日時を計算したりする際に利用する日付型のクラスであるのに対し、java.sql.dateは、PreparedStatement に値を渡すときに使います。

    Dateの場合は日付の情報のみになり、Timestampの場合は時分秒ミリ秒まで保存可能です。

    また、java.sql.date は java.util.dateクラスのサブクラスとなっています。

    推奨されていないメソッドを除けば、java.sql.date がオーバーライドしているメソッドは「setTime(long)」と「toString()」だけです。



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

    この記事をシェア

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









    ABOUT US

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

    READ MORE