カテゴリ: 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のNotSerializableExceptionを完全解説!初心者でも理解できるシリアライズと例外処理
新規投稿
New2
Spring
Springの@Repositoryアノテーションの使い方を徹底解説!初心者でもわかるSpringフレームワークのデータアクセス
更新記事
New3
Spring
Springの@Componentアノテーションの使い方を徹底解説!初心者でもわかるSpring Boot入門
更新記事
New4
Java
Javaのjava.mathとBigIntegerのintValueメソッドを完全解説!初心者でもわかる数値変換の基本
更新記事
人気記事
No.1
Java&Spring記事人気No1
Servlet
JavaのHttpSessionを徹底解説!初心者でもわかるセッション管理の基本
No.2
Java&Spring記事人気No2
JSP
JSPの基本タグ一覧と使い方まとめ!実務で使えるタグを紹介
No.3
Java&Spring記事人気No3
JSP
JSPでフォームを表示して入力を受け取る基本手順をやさしく解説!初心者向けフォーム処理の入門ガイド
No.4
Java&Spring記事人気No4
Spring
Springの@Serviceアノテーションの使い方を徹底解説!初心者でもわかるSpring フレームワーク入門
No.5
Java&Spring記事人気No5
JSP
JSPでCSSやJSを読み込む基本!外部ファイルのパス指定に注意しよう
No.6
Java&Spring記事人気No6
Spring
Spring BootとJavaの互換性一覧!3.5/3.4/3.3はJava 21・17に対応してる?
No.7
Java&Spring記事人気No7
Spring
Spring Data JPA入門!findAll()やfindBy**()の使い方などデータベース操作の基礎を学ぶ
No.8
Java&Spring記事人気No8
JSP
JSPでif文・for文を使う方法!初心者でもわかるJavaとの違いと使い方