一、System.currentTimeMillis()
Java獲取當前時間戳的最常用方法就是使用System.currentTimeMillis()函數。它返回自UTC(1970年1月1日00:00:00 UTC)以來的當前時間,以毫秒為單位表示。
long timestamp = System.currentTimeMillis(); System.out.println("當前時間戳:" + timestamp);
這個方法非常簡單,只需要一行代碼即可獲取當前時間戳。它經常被用來計算時間差或用於日誌記錄等任務。
二、Instant.now()
Java 8及以上版本提供了新的API:java.time.Instant。Instant類是java.time包中一個新的日期時間API,它增強了Java中獲取當前時間戳的能力。
Instant instant = Instant.now(); long currentTimestamp = instant.toEpochMilli(); System.out.println("當前時間戳:" + currentTimestamp);
Instant類提供了toEpochMilli()函數,可以將Instant對象轉換為毫秒數。Instant.now()返回當前的日期時間值。
三、Date.getTime()
Java.util.Date類在Java 1.0中就被引入,其中包含了一種簡單的獲取當前時間戳的方法。
Date date = new Date(); long timestamp = date.getTime(); System.out.println("當前時間戳:" + timestamp);
Date.getTime()返回自UTC(1970年1月1日00:00:00 UTC)以來的當前時間,以毫秒為單位表示。這種方法已經過時,建議使用java.time.Instant類的方法代替。
四、Clock類
Java 8提供了一個新的API,名為Clock類。Clock是一個抽象類,提供了一種簡單的方法來獲取當前時間戳。
Clock clock = Clock.systemDefaultZone(); long currentTimestamp = clock.millis(); System.out.println("當前時間戳:" + currentTimestamp);
默認情況下,Clock.systemDefaultZone()方法返回當前時區的系統時鐘。我們可以使用其他時區的時鐘來獲取該時區的當前時間戳。
五、小結
以上介紹了四種在Java中獲取當前時間戳的方法,可以根據具體需要來選擇合適的方法。
- System.currentTimeMillis()是最常用的方法,因為它簡單易用。
- Instant.now()是Java 8及以上版本推薦使用的方法,它提供了更多的日期和時間相關的API。
- Date.getTime()是舊的方法,不再推薦使用,但是仍然可以使用。
- Clock類提供了一種不同的方式來獲取當前時間戳,可以在不同的時區中使用。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/309034.html