Java 日付で現在のタイムスタンプを取得する

Mohammad Irfan 2023年10月12日
  1. Java の Timestamp クラスを使用して現在のタイムスタンプを取得する
  2. Java の Date クラスを使用して現在のタイムスタンプを取得する
  3. Java の ZonedDateTime クラスを使用して現在のタイムスタンプを取得する
  4. Java の LocalDateTime クラスを使用して現在のタイムスタンプを取得する
  5. Java の Instant クラスを使用して現在のタイムスタンプを取得する
  6. Java の Timestamp クラスを使用して現在のタイムスタンプを取得する
  7. Java で toInstant() メソッドを使用して現在のタイムスタンプを取得する
Java 日付で現在のタイムスタンプを取得する

このチュートリアルでは、Java で現在のタイムスタンプを取得する方法を紹介し、トピックを理解するためのサンプルコードをいくつか示します。

Java で現在のタイムスタンプを取得するには、Timspamp クラス、Date クラス、ZonedDateTime クラス、LocalDateTime クラスなど、いくつかの方法があります。いくつかの例を見てみましょう。

Java の Timestamp クラスを使用して現在のタイムスタンプを取得する

Java で現在のタイムスタンプを取得するには、Timestamp クラスを使用できます。このクラスにはデフォルトのコンストラクターがないため、時間をミリ秒単位で渡します。時間を取得するために、System クラスの currentTimeMillis() メソッドを使用します。以下の例を参照してください。

import java.sql.Timestamp;

public class SimpleTesting {
  public static void main(String[] args) {
    Long datetime = System.currentTimeMillis();
    Timestamp timestamp = new Timestamp(datetime);
    System.out.println("Current Time Stamp: " + timestamp);
  }
}

出力:

Current Time Stamp: 2021-03-06 17:24:57.107

Java の Date クラスを使用して現在のタイムスタンプを取得する

util パッケージの Date クラスを使用して、現在のタイムスタンプを取得できます。タイムスタンプを yyyy.MM.dd 形式でフォーマットするには、SimpleDateFormat クラスを使用できます。以下の例を参照してください。

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

public class SimpleTesting {
  public static void main(String[] args) {
    SimpleDateFormat date = new SimpleDateFormat("yyyy.MM.dd.HH:mm:ss");
    String timeStamp = date.format(new Date());
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

出力:

Current Time Stamp: 2021.03.06.17:26:17

Java の ZonedDateTime クラスを使用して現在のタイムスタンプを取得する

Java datetime パッケージの ZonedDateTime クラスは、ゾーン情報を使用してタイムスタンプを作成します。ZoneIdsystemDefault() メソッドを使用してシステムのデフォルトゾーンを取得し、now() メソッドを使用して指定された zoneId の現在のタイムスタンプを取得します。

現在のタイムスタンプを取得した後、DateTimeFormatter クラスの ofPattern() メソッドを使用して、指定された形式でタイムスタンプを取得します。以下の例を参照してください。

import java.time.ZoneId;
import java.time.ZonedDateTime;
import java.time.format.DateTimeFormatter;

public class SimpleTesting {
  public static void main(String[] args) {
    ZoneId zid = ZoneId.systemDefault();
    ZonedDateTime datetime = ZonedDateTime.now(zid);
    System.out.println("Current Time Stamp: " + datetime);
    // if want to format into a specific format
    DateTimeFormatter formatter = DateTimeFormatter.ofPattern("uuuu.MM.dd.HH:mm:ss");
    String timeStamp = datetime.format(formatter);
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

出力:

Current Time Stamp: 2021-03-06T17:35:52.722720362Z[Etc/UTC]
Current Time Stamp: 2021.03.06.17:35:52

Java の LocalDateTime クラスを使用して現在のタイムスタンプを取得する

Java 8 を使用している場合は、LocalDateTime クラスを使用して Java の現在のタイムスタンプを取得します。以下の例を参照してください。

import java.time.LocalDateTime;
import java.time.format.DateTimeFormatter;
public class SimpleTesting {
  public static void main(String[] args) {
    LocalDateTime dateTime = LocalDateTime.now();
    System.out.println("Current Time Stamp Default Format: " + dateTime);
    String timeStamp = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(dateTime);
    System.out.println("Current Time Stamp: " + timeStamp);
  }
}

出力:

Current Time Stamp Default Format: 2021-02-27T14:15:46.196564
Current Time Stamp: 2021-02-27 14:15:46

Java の Instant クラスを使用して現在のタイムスタンプを取得する

Instant クラスを使用して、現在のタイムスタンプを取得できます。Instant クラスの now() メソッドを使用して、現在のタイムスタンプをインスタントでフェッチします。

import java.time.Instant;
public class SimpleTesting {
  public static void main(String[] args) {
    Instant timeStamp = Instant.now();
    System.out.println("Current Time Stamp Default Format: " + timeStamp);
  }
}

出力:

Current Time Stamp Default Format: 2021-02-27T08:48:28.001913Z

Java の Timestamp クラスを使用して現在のタイムスタンプを取得する

これは、Timestamp および Instant クラスを使用して Java で現在のタイムスタンプを取得するための別のソリューションです。以下の例を参照してください。

import java.sql.Timestamp;
import java.time.Instant;
public class SimpleTesting {
  public static void main(String[] args) {
    long time = System.currentTimeMillis();
    Timestamp timestamp = new Timestamp(time);
    Instant instant = timestamp.toInstant();
    System.out.println("Current Time Stamp: " + instant);
  }
}

出力:

Current Time Stamp: 2021-02-27T08:50:05.125Z

Java で toInstant() メソッドを使用して現在のタイムスタンプを取得する

タイムスタンプを表す日付オブジェクトがある場合は、Date クラスの toInstant() メソッドを使用して、現在のタイムスタンプを取得することもできます。

import java.time.Instant;
import java.util.Date;
public class SimpleTesting {
  public static void main(String[] args) {
    Date date = new Date();
    Instant instant = date.toInstant();
    System.out.println("Current Time Stamp: " + instant);
  }
}

出力:

Current Time Stamp: 2021-02-27T08:51:34.223Z

関連記事 - Java DateTime