【Java】Dateクラスで日付を扱う方法を5つのパターン別に解説

Javaで日付を扱うにはどうしたらいいの?
Dateクラスで日付を扱う方法が知りたい

JavaではDateクラスを使用して、日付や日時を扱うことができます。しかし、そもそも、Dateクラスの使い方がいまいちわからなかったり、日付の扱い方がわからない方も多いのではないでしょうか?

そこで今回はDateクラスを使用して、日付を扱う方法について、パターン別に解説していきます。

なお、Javaの記事については、こちらにまとめています。

目次

JavaのDateとは

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

Dateクラスを使用するには「java.util.Date」をインポートする必要があります。

Dateクラスは、以下のようにクラスのオブジェクトを生成します。

Date 変数名 = new Date();

new演算子使用してインスタンスを生成した時点で、Dateクラスのオブジェクトには現在の日時が返されます。

Dataの使い方

基本的な使い方

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

以下にDateクラスのオブジェクトを生成して、現在の日付を出力する方法を記述します。

import java.util.Date;

public class Main {
    public static void main(String[] args) {
        
        //Dateを生成する
        Date date = new Date();
        
        //現在の日時を出力する
        System.out.println(date.toString());
        
    }
}
実行結果
Sun Jun 11 08:43:53 JST 2017

サンプルではnew演算子でDateクラスのオブジェクトを生成後、オブジェクトをtoStringメソッドで文字列型に変換して出力しています。

フォーマットを指定する

前述したようにDateクラスを使用すれば、日付を取得することができますが、取得した結果が「Sun Jun 11 08:43:53 JST 2017」のように表示されて、少し分かり辛いですよね…。

そこで、取得した日付のフォーマットを指定して、日付を見やすく表示するために、SimpleDateFormatクラスが用意されています。

SimpleDateFormatクラスを使用するためには「java.text.SimpleDateFormat」をインポートする必要があります。

SimpleDateFormatクラスを使用するためには、以下のようにクラスのオブジェクトを生成します。

SimpleDateFormat 変数名 = new SimpleDateFormat("フォーマット");

インスタンスの引数には、”yyyy/MM/dd”のように日付のフォーマットを指定します。

そんな日付のフォーマット指定の詳細については、以下の記事で詳しく解説しています!


【Java入門】SimpleDateFormatで日付フォーマットの設定
更新日:2024年3月1日

日時を加算する

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

addメソッドは以下のように記述します。

calendar.add(Calendar.MONTH, 3);

第一引数には、カレンダークラスの定数YEAR、MONTH、DATEなどを指定し、第二引数には加算する値を指定します。

そんなDate型の日時を加算する方法については、以下の記事で詳しく解説しています。

日付を比較する

日付同士を比較するためにはDateクラスのcompareToメソッドを使用します。

日付の比較は、To-Doリストなどのアプリケーションで時間になると通知したり、ある期間だけの売上を表示したいときなどによく使われます。

compareToメソッドは、以下のように記述します。

Date1.compareTo(Date2);

compareToメソッドは、引数に比較対象のDateクラスを指定することにより、日付の比較を行います。

そんな、日付を比較する方法については、以下の記事で詳しく解説しています。

Date⇔Stringの変換

String型と日付型(Date型)はそれぞれの型に変換することが可能です。文字列の日付をDate型に変換するには、SimpleDateFormatを使って、文字列のフォーマットを指定する必要があります。

文字列が”2017/6/10″なら、日付のフォーマットは”yyyy/MM/dd”となります。また、日付の文字列に誤りがあるとParseExceptionの例外が発生しますので注意しましょう。

Date型をString型に変換するには、SimpleDateFormatクラスを使用し、変換したい日付のフォーマットを指定して、formatメソッドで変換します。

そんなDate型⇔String型の相互変換については、以下の記事で詳しく解説しています!


【Java入門】DateとCalendarの使い方・変換方法まとめ
更新日:2024年3月1日

まとめ

ここでは、Data型の基本的な使い方や、日付を加算する方法、日付のフォーマットを指定する方法や、比較、String型への相互変換の方法などについて紹介しました。

JavaはDateクラスやCalendarクラスを使用して、さままざな日付処理を行うことができますので、ぜひ覚えておきましょう。

もし、Data型の使い方を忘れてしまったら、この記事を思い出してくださいね。

この記事を書いた人

【プロフィール】
DX認定取得事業者に選定されている株式会社SAMURAIのマーケティング・コミュニケーション部が運営。「質の高いIT教育を、すべての人に」をミッションに、IT・プログラミングを学び始めた初学者の方に向け記事を執筆。
累計指導者数4万5,000名以上のプログラミングスクール「侍エンジニア」、累計登録者数1万8,000人以上のオンライン学習サービス「侍テラコヤ」で扱う教材開発のノウハウ、2013年の創業から運営で得た知見に基づき、記事の執筆だけでなく編集・監修も担当しています。
【専門分野】
IT/Web開発/AI・ロボット開発/インフラ開発/ゲーム開発/AI/Webデザイン

目次