在 Java 日期中獲取當前時間戳

Mohammad Irfan 2023年1月30日 2021年3月21日
  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 類獲取當前時間戳

這是通過 TimestampInstant 類獲取 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