スポンサーリンク
Java

【Java】Date型で日付を扱う方法について

Java

プログラムを開発する上でも必ず

必要になる日付の扱い方について解説します。

Dateクラスとは

JavaにおけるDateクラスは、日付や時刻を表現するためのクラスです。以下に、Dateクラスの基本的な使い方を説明します。

  1. Dateオブジェクトの生成 Dateクラスのオブジェクトを生成するには、以下のようにします。
Date now = new Date(); // 現在の日時を取得
  1. 日時の表示 Dateクラスで取得した日時情報を表示するには、以下のようにします。
System.out.println(now.toString()); // 日時情報を文字列に変換して表示

使い方

Dateインスタンスを生成して利用していきます。

Date型を使用する場合は「java.util.Date」をインポートしないといけません。

import java.util.Date;
 
public class Main {
    public static void main(String[] args) {
        
        //Dateを生成する
        Date dt = new Date();
        
        //現在の日時を出力する
        System.out.println(dt);
        
    }
}
実行結果
Fri Oct 28 00:20:02 JST 2022

実行結果から現在日付が出力されていることが確認できます。

 

日付の比較

Dateクラスで取得した日時情報を比較するには、以下のようにします。

Date other = new Date(); // 比較するための別の日時情報を取得
if (now.before(other)) {
    System.out.println("now is before other");
} else if (now.after(other)) {
    System.out.println("now is after other");
} else {
    System.out.println("now is same as other");
}

日時の加算・減算

Dateクラスで取得した日時情報に対して、日時の加算・減算を行うには、以下のようにします。

// 1日分のミリ秒数
long millisToAdd = 1000 * 60 * 60 * 24; 
// 1日後の日時を取得
Date future = new Date(now.getTime() + millisToAdd); 
// 1日前の日時を取得
Date past = new Date(now.getTime() - millisToAdd); 

日付や時刻のフォーマット

Dateオブジェクトから、文字列として日付や時刻をフォーマットする場合は、SimpleDateFormatクラスを使用します。SimpleDateFormatクラスのformatメソッドに、Dateオブジェクトを渡すことで、文字列としてフォーマットされた日付や時刻を取得できます。以下は、日付を「yyyy/MM/dd」の形式でフォーマットする例です。

// 日付フォーマットの指定
SimpleDateFormat sdf = new SimpleDateFormat("yyyy/MM/dd"); 
// Dateオブジェクトを日付文字列に変換
String formattedDate = sdf.format(now); 

注意点

importする場合に

「java.sql.Date」と間違えないように気をつけましょう