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

Mohammad Irfan 2023年1月30日 2021年3月24日
  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