カテゴリ: Java 更新日: 2026/04/10

JavaのDateクラスsetTimeメソッドの使い方を完全ガイド!初心者でもわかる日付の変更方法

Date のsetTimeメソッド
Date のsetTimeメソッド

先生と生徒の会話形式で理解しよう

生徒

「Javaで日付の値をあとから変更したいときってどうすればいいんですか?」

先生

「そんなときは、java.util.DateクラスのsetTimeメソッドを使うと、簡単に変更できますよ。」

生徒

「setTimeって初めて聞きました!どういうふうに使うんですか?」

先生

「それでは、setTimeメソッドの使い方を基本から丁寧に解説していきましょう!」

1. java.util.Dateクラスとは

「1. java.util.Dateクラスとは」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

1. java.util.Dateクラスとは
1. java.util.Dateクラスとは

java.util.Dateクラスは、Javaで日付や時刻を扱うための基本的なクラスです。このクラスは、1970年1月1日00:00:00 GMT(グリニッジ標準時)からの経過ミリ秒数で時間を表現します。

Java SE 8以降はjava.timeパッケージが推奨されていますが、Dateクラスは多くの既存システムやライブラリで使われており、今もなお重要なクラスです。

2. setTimeメソッドの基本

2. setTimeメソッドの基本
2. setTimeメソッドの基本

setTimeメソッドは、Dateオブジェクトに新しい時刻を設定するためのメソッドです。引数にはlong型のミリ秒を指定します。たとえば、現在のDateオブジェクトの時間を、別の時間に変更したいときに使います。

このメソッドの構文は以下のようになります。


public void setTime(long timeInMillis)

引数として渡すlong値は、1970年1月1日00:00:00 GMTからのミリ秒数です。この数値を変更することで、任意の日時に書き換えることができます。

3. Date#setTimeのサンプルコード

3. Date#setTimeのサンプルコード
3. Date#setTimeのサンプルコード

それでは、実際にsetTimeメソッドを使って、Dateオブジェクトの時刻を変更してみましょう。


import java.util.Date;

public class SetTimeExample {
    public static void main(String[] args) {
        Date originalDate = new Date();
        System.out.println("元の日時: " + originalDate);

        // 1時間(3600秒 × 1000ミリ秒)後の時刻に変更
        long oneHourLater = originalDate.getTime() + (3600 * 1000);
        originalDate.setTime(oneHourLater);

        System.out.println("1時間後の日時: " + originalDate);
    }
}

このプログラムを実行すると、現在時刻とその1時間後の時刻が表示されます。


元の日時: Thu Sep 04 21:00:00 JST 2025
1時間後の日時: Thu Sep 04 22:00:00 JST 2025

4. setTimeの使いどころと注意点

「4. setTimeの使いどころと注意点」の重要ポイントを、初心者の方にも分かりやすく簡潔に解説します。

4. setTimeの使いどころと注意点
4. setTimeの使いどころと注意点

setTimeメソッドは、Dateオブジェクトを再利用して異なる時間を設定したいときに便利です。例えば、データベースから取得した日時に対して処理を加えたり、ログの基準時間をずらすときなどに使えます。

ただし、タイムゾーンの扱いには注意が必要です。Dateクラス自体にはタイムゾーン情報が含まれていないため、表示の際にはSimpleDateFormatなどで適切にフォーマットする必要があります。

また、1970年より前の日付や、極端に未来の日付を扱うときも、long型の範囲を超えないように気をつけましょう。

5. 日時の再設定を活用した応用例

5. 日時の再設定を活用した応用例
5. 日時の再設定を活用した応用例

以下は、複数のDateオブジェクトを統一的な基準日時に変更したいときの例です。特定の条件に応じて、setTimeで一括変更する処理にも使えます。


import java.util.Date;

public class ResetDatesExample {
    public static void main(String[] args) {
        Date[] dateArray = new Date[3];
        long baseTime = System.currentTimeMillis();

        for (int i = 0; i < dateArray.length; i++) {
            dateArray[i] = new Date();
            dateArray[i].setTime(baseTime + (i * 60000)); // 1分ずつ加算
        }

        for (Date d : dateArray) {
            System.out.println(d);
        }
    }
}

このようにsetTimeを使うことで、同じロジックの中で日付をコントロールしやすくなります。日時の加算や調整処理は、Javaの時間操作において非常に役立ちます。

6. java.util.DateとsetTimeの組み合わせを理解しよう

6. java.util.DateとsetTimeの組み合わせを理解しよう
6. java.util.DateとsetTimeの組み合わせを理解しよう

java.util.DateはJavaにおける時間操作の基礎となるクラスです。中でもsetTimeメソッドは、柔軟に時刻情報を変更するための非常に便利な手段です。

初心者のうちは現在時刻を使うことが多いかもしれませんが、慣れてきたらsetTimeを使って日時の制御や調整を行うと、より柔軟で応用的なコードが書けるようになります。

Javaで日付と時刻を扱うときにDatesetTimeをセットで理解しておくことは、実践的なプログラミングの第一歩となります。

カテゴリの一覧へ
新着記事
New1
Java
JavaのBufferedOutputStreamクラスの使い方を完全ガイド!初心者でもわかる効率的なファイル書き込み
更新記事
New2
Java
Javaのsealedクラス(シール・クラス)とは?継承を制御する新機能をやさしく解説
更新記事
New3
Spring
JavaのSpringで使う@Pastアノテーションを徹底解説!初心者向け日付バリデーション入門
更新記事
New4
Java
JavaのLocalDate.withメソッドの使い方を完全ガイド!初心者でもわかる日付の変更方法
更新記事
人気記事
No.1
Java&Spring記事人気No1
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.2
Java&Spring記事人気No2
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.3
Java&Spring記事人気No3
Java
Java開発環境「Eclipse(Pleiades)」のインストール方法とメリットを初心者向けに解説
No.4
Java&Spring記事人気No4
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.5
Java&Spring記事人気No5
Java
JavaのIOExceptionクラス徹底解説!初心者向けファイル入出力エラー対策ガイド
No.6
Java&Spring記事人気No6
Java
JavaのRuntimeExceptionを完全解説!初心者でもわかるjava.langパッケージの基礎
No.7
Java&Spring記事人気No7
Spring
Spring BootのMultipartFile入門:ファイルアップロード・ダウンロードの実装方法と制限設定
No.8
Java&Spring記事人気No8
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本