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

  1. Java で現在の日付と時刻を取得するには LocalDateTime.now() を使う
  2. Java でタイムゾーン付きの現在の日付と時刻を取得するには、ZonedDateTime.now() を使用します
  3. Java で現在の日付と時刻を取得するための Calendar.getinstance() の例

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

関連記事 - Java Date

  • Java で文字列の日付をタイムスタンプに変換する方法
  • Java で日付を文字列に変換する方法
  • comments powered by Disqus