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”のように日付のフォーマットを指定します。
そんな日付のフォーマット指定の詳細については、以下の記事で詳しく解説しています!
日時を加算する
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型の相互変換については、以下の記事で詳しく解説しています!
まとめ
ここでは、Data型の基本的な使い方や、日付を加算する方法、日付のフォーマットを指定する方法や、比較、String型への相互変換の方法などについて紹介しました。
JavaはDateクラスやCalendarクラスを使用して、さままざな日付処理を行うことができますので、ぜひ覚えておきましょう。
もし、Data型の使い方を忘れてしまったら、この記事を思い出してくださいね。