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

Rupam Yadav 2023年10月12日
  1. Java で現在の日付と時刻を取得するには LocalDateTime.now() を使用する
  2. Java でタイムゾーン付きの現在の日付と時刻を取得するには、ZonedDateTime.now() を使用する
  3. Java で現在の日付と時刻を取得するための Calendar.getInstance() の例
Java で現在の日時を取得する方法

Java で現在の日時を取得できる様々なメソッドを一挙に紹介します。詳しい例を見て理解を深めていきましょう。

Java で現在の日付と時刻を取得するには LocalDateTime.now() を使用する

現在の日時は、LocaleDateTime クラスを用いて now() メソッドを用いて取得することができます。これは、YYYY-MM-DD-hh-mm-ss.zzz 形式で、2020-09-22T14:39:33.889798 のような形式で返します。

より読みやすくするために、DateTimeFormatter.ofPattern(pattern) を使用することにします。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;

public class Main {
  public static void main(String[] args) {
    DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm:ss");
    System.out.println("yyyy/MM/dd HH:mm:ss-> " + dtf.format(LocalDateTime.now()));

    DateTimeFormatter dtf2 = DateTimeFormatter.ofPattern("yy/MM/dd HH:mm:ss");
    System.out.println("yy/MM/dd HH:mm:ss-> " + dtf2.format(LocalDateTime.now()));

    DateTimeFormatter dtf3 = DateTimeFormatter.ofPattern("yyyy/MMMM/dd HH:mm:ss");
    System.out.println("yyyy/MMMM/dd HH:mm:ss-> " + dtf3.format(LocalDateTime.now()));

    DateTimeFormatter dtf4 = DateTimeFormatter.ofPattern("yyyy/MM/dd HH:mm");
    System.out.println("yyyy/MM/dd HH:mm-> " + dtf4.format(LocalDateTime.now()));

    DateTimeFormatter dtf5 = DateTimeFormatter.ofPattern("yyyy/MM/dd hh:mm");
    System.out.println("yyyy/MM/dd hh:mm:ss-> " + dtf5.format(LocalDateTime.now()));
  }
}

出力:

yyyy/MM/dd HH:mm:ss-> 2020/09/22 15:07:01
yy/MM/dd HH:mm:ss-> 20/09/22 15:07:01
yyyy/MMMM/dd HH:mm:ss-> 2020/September/22 15:07:01
yyyy/MM/dd HH:mm-> 2020/09/22 15:07
yyyy/MM/dd hh:mm:ss-> 2020/09/22 03:07

Java でタイムゾーン付きの現在の日付と時刻を取得するには、ZonedDateTime.now() を使用する

タイムゾーンは日付と時刻の重要な部分です。タイムゾーンを指定して日付と時刻を取得するには、ZonedDateTime.now() を用います。

ZonedDateTime.now() の中で ZoneId 引数を渡すことで、すべてのタイムゾーンの時刻を取得することができます。

以下の例を見てみましょう。

import java.time.ZonedDateTime;

public class Main {
  public static void main(String[] args) {
    System.out.println(ZonedDateTime.now());

    System.out.println("Get current timezone " + ZonedDateTime.now().getZone());

    System.out.println(
        "Get time of different timezone: " + ZonedDateTime.now(ZoneId.of("America/New_York")));
  }
}

出力:

2020-09-22T15:53:32.635585+05:30[Asia/Kolkata]
Get current timezone Asia/Kolkata
Get time of different timezone: 2020-09-22T06:23:32.643391-04:00[America/New_York]

Java で現在の日付と時刻を取得するための Calendar.getInstance() の例

現在の日付と時刻を取得するもう一つの方法は、Calendar.getInstance() を利用して Calendar オブジェクトを返すことです。

この例では、時刻が表示されています。

import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.Date;

public class Main {
  public static void main(String[] args) {
    String timeStamp =
        new SimpleDateFormat("yyyy/MM/dd HH:mm:ss").format(Calendar.getInstance().getTime());

    System.out.println(timeStamp);
  }
}

出力:

2020/09/22 15:59:45
著者: Rupam Yadav
Rupam Yadav avatar Rupam Yadav avatar

Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.

LinkedIn

関連記事 - Java DateTime