【Java入門】現在日時を取得(Date/Calendar/LocalDateTime/時間計測)

こんにちは!エンジニアの中沢です。

Javaには現在の時刻を取得するために「Dateクラス」、「Calendarクラス」、「LocalDateTimeクラス」を使う方法があります。

現在時刻を取得して、そこから処理時間の計測ができるので上手く活用してください。この記事では、

  • 時間の取得をするには?
  • Dateクラスで現在日時を取得する方法
  • Calendarクラスで現在日時を取得する方法
  • LocalDateTimeで現在日時を取得する方法

という基本的な内容から、

  • 処理時間を計測をする方法

などの応用的な使い方に関しても解説していきます。今回はこれらの方法を覚えるために、時間を取得する方法をわかりやすく解説します!

なお、Javaの記事については、こちらにまとめています。

時間の取得をするには?

時間の取得をするには、「Dateクラス」、「Calendarクラス」、「LocalDateTimeクラス」を使う方法があります。現在では、Dateクラスは非推奨となっているので、Calendarクラスを使う方法が一般的です。

LocalDateTimeクラスでも現在の時間を取得できますが、Calendarクラスの方がいろいろな機能が用意されているので便利に使えます。

そのため、これから日時を扱う場合には、Calendarクラスを使うのが良いでしょう。


【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

Dateクラスで現在日時を取得する方法

ここでは、Dateクラスで現在日時を取得する方法を解説します。

Dateクラスで現在日時を取得するには、引数を指定せずにインスタンスを生成することで現在の日時がセットされたオブジェクトが作成されます。次のプログラムで確認してみましょう。

import java.util.Date;

public class Main {
    public static void main(String[] args) {

        Date date = new Date();
        System.out.println(date);
    }
}

実行結果:

Wed May 02 16:44:44 JST 2018

このようにして、Dateクラスで現在の日時を取得することができました。

Dateクラスの詳しい使い方はこちらの記事で解説しているので、ぜひ確認してください。

【Java】Dateクラスで日付を扱う方法を5つのパターン別に解説
更新日:2023年3月21日

Calendarクラスで現在日時を取得する方法

ここでは、Calendarクラスで現在日時を取得する方法を解説します。

Calendarクラスで現在日時を取得するには、CalendarクラスのgetInstanceメソッドを使うことで現在の日時がセットされたオブジェクトを取得できます。

次のプログラムで確認してみましょう。

import java.util.Calendar;

public class Main {
    public static void main(String[] args) {

        Calendar calendar = Calendar.getInstance();
        System.out.println(calendar.getTime());
    }
}

実行結果:

Wed May 02 16:45:39 JST 2018

このようにして、Calendarクラスで現在の日時を取得することができました。

Calendarクラスの詳しい使い方はこちらの記事で解説しているので、ぜひ確認してください。

【Java入門】Calendarクラスの使い方総まとめ
更新日:2023年3月21日

【なかなかエラーが解決できない…そんな悩みを解決します!】

登録無料で始められるプログラミングスクール「侍テラコヤ」

・回答率100%のQ&A掲示板でエラーを解決!
現役エンジニアとのオンライン相談で悩みを解決!
・50種類以上の教材で複数言語を習得!

侍テラコヤについて詳しく見る

LocalDateTimeで現在日時を取得する方法

ここでは、LocalDateTimeクラスで現在日時を取得する方法を解説します。

LocalDateTimeクラスで現在日時を取得するには、引数を指定せずにインスタンスを生成することで現在の日時がセットされたオブジェクトが作成されます。

次のプログラムで確認してみましょう。

import java.time.LocalDateTime;

public class Main {
    public static void main(String[] args) {

        LocalDateTime ldt = LocalDateTime.now();
        System.out.println(ldt);
    }
}

実行結果:

2018-05-02T16:53:25.447

このようにして、LocalDateTimeクラスで現在の日時を取得することができました。

処理時間を計測をする方法

ミリ秒単位で処理時間を計測するには「System.currentTimeMillisメソッド」を使います。

「System.currentTimeMillisメソッド」の戻り値はlong型でエポック秒から経過した時間を返します。

そのため、戻り値はlong型の変数に格納します。ミリ秒単位で処理時間を計測する方法を次のプログラムで確認してみましょう。

public class Main {
    public static void main(String[] args) {

        // 処理前の時刻を取得
        long startTime = System.currentTimeMillis();

        // 時間計測をしたい処理
        int result = 0;
        for (int i = 0; i < 1000000; i++) {
            result += 1;
        }

        // 処理後の時刻を取得
        long endTime = System.currentTimeMillis();

        System.out.println("開始時刻:" + startTime + " ms");
        System.out.println("終了時刻:" + endTime + " ms");
        System.out.println("処理時間:" + (endTime - startTime) + " ms");
    }
}

実行結果:

開始時刻:1519706138082 ms
終了時刻:1519706138084 ms
処理時間:2 ms

このプログラムでは、初めに処理前の時刻を取得して、時間計測をしたい処理が終わった後の時刻から引いた差を処理時間として表示してきます。

このように「System.currentTimeMillisメソッド」を使うことで処理時間を計測することができました!

時間計測をする詳しい方法はこちらの記事で解説しているので、ぜひ確認してください。

【Java入門】処理時間をナノ秒・マイクロ秒で計測する方法
更新日:2023年3月21日

まとめ

いかがでしたか?今回は現在の日時を取得する様々な方法を解説しました、

日時の取得は処理時間の計測などにも使えるので、ぜひ活用してくださいね。

もし、日時の取得方法を忘れてしまったらこの記事を確認してください!

プログラミング学習中、
誰かへ相談したいことはありませんか?

SAMURAI TERAKOYA

プログラミングはエラーの連続。作業を進めるなかで誰かに教えてほしい場面は多いですよね。

そんな悩みを解決できるのが、侍テラコヤです。登録無料で始められて、現役エンジニアとオンラインで相談できるほか、回答率100%のQA掲示版でプログラミングに関する悩みを解決します!

気になる方はぜひ詳細をご覧ください。

→侍テラコヤの詳細をみる

フリーランスエンジニア。
システム開発からコンテンツ作成まで幅広く対応します。

連絡先はこちらです。
ntakeshi@sejuku.net

あなたの目的に合わせた
SAMURAI ENGINEERの運営サービス

SAMURAI ENGINEER Pro

未経験でも挫折しないプログラミングスクール

詳細はこちら

SAMURAI TERAKOYA

日本最大級のサブスク型オンラインITスクール

詳細はこちら

SAMURAI ENGINEER Freelance

「一人で稼げる」スキルを身につける

詳細はこちら
Close