スライドショー

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

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

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

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

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で日付フォーマットの設定
更新日 : 2019年5月28日

日時を加算する

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の使い方・変換方法まとめ
更新日 : 2019年10月16日

まとめ

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

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

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

LINEで送る
Pocket

ITエンジニアへ転職したい方におすすめ

自分を評価してくれる企業に転職して年収を上げたい! 自分のスキルにあった独自案件を知りたい!
エンジニアは今もっとも注目されている職業の1つ。エンジニアになって年収を増やしたい方や、あなたのスキルに見合った企業へ転職したいエンジニアの方も多いですよね。

しかし、大手の転職媒体は扱う求人数が多くても、誰もが登録しているので競争率もかなり高くなっています。そのため、あなたの条件に見合った企業を見つけても転職するためには、相応の努力とスキルが必要となります。

こういった媒体では、未経験からエンジニアを目指す方やエンジニア歴2〜3年で転職を考えている方にとって、最適な転職環境とはいえません。

そこでオススメしたいのが、未経験者や若手エンジニア向けの独自案件を多く掲載している「侍ワークス」です。

侍ワークスは、独自案件を多く掲載しているだけでなく、

・応募から就業まで一貫したサポート

・就業後もアフターフォロー

といった経験の浅い方や初めてエンジニアを目指す方にも安心のフォロー体制が整っています。もちろん登録は完全無料!しかも案件を見るだけなら登録も不要です。

まずは、お気軽にどんな求人があるか見てみてください。あなたにピッタリの企業がきっと見つかりますよ! 侍ワークスの求人情報を見る

書いた人

侍ブログ編集部

侍ブログ編集部

侍エンジニア塾は「人生を変えるプログラミング学習」をコンセンプトに、過去多くのフリーランスエンジニアを輩出したプログラミングスクールです。プログラミングに役立つ情報や有用な情報を発信していきます。
サービスページはこちら
ツイッターはこちら
フェイスブックはこちら