在 Java 日期中獲取當前時間戳
-
使用 Java 中的
Timestamp
類獲取當前時間戳 -
使用 Java 中的
Date
類獲取當前時間戳 -
使用 Java 中的
ZonedDateTime
類獲取當前時間戳 -
使用 Java 中的
LocalDateTime
類獲取當前時間戳 -
使用 Java 中的
Instant
類獲取當前時間戳 -
使用 Java 中的
Timestamp
類獲取當前時間戳 -
使用 Java 中的
toInstant()
方法獲取當前時間戳

本教程介紹如何獲取 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
類建立帶有區域資訊的時間戳。我們使用 ZoneId
的 systemDefault()
方法獲取系統的預設區域,並使用 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