java中獲取時(shí)間戳的多種常用方式
在Java中,獲取時(shí)間戳(毫秒數(shù))有多種方式。有以下幾種常用的方法:
使用 System.currentTimeMillis() 方法:
這是最簡(jiǎn)單直接的方式,它直接返回當(dāng)前時(shí)間的時(shí)間戳。
long timestamp = System.currentTimeMillis();
使用 java.util.Date 類(lèi):Date 類(lèi)也有一個(gè)方法可以返回時(shí)間戳,不過(guò)推薦使用 System.currentTimeMillis() 或者 Instant,因?yàn)?Date 類(lèi)已經(jīng)被認(rèn)為過(guò)時(shí)了。
long timestamp = new java.util.Date().getTime();
使用 java.time.Instant 類(lèi) (Java 8 及以上版本):
從Java 8開(kāi)始引入了新的日期和時(shí)間API,Instant 類(lèi)提供了獲取當(dāng)前時(shí)間戳的方法。
import java.time.Instant; long timestamp = Instant.now().toEpochMilli();
使用 java.time.LocalDateTime 和 java.time.ZoneId (Java 8 及以上版本):
如果你需要考慮特定時(shí)區(qū)的時(shí)間戳,你可以結(jié)合 LocalDateTime 和 ZoneId 來(lái)獲取。
import java.time.LocalDateTime; import java.time.ZoneId; import java.time.ZonedDateTime; long timestamp = ZonedDateTime.of(LocalDateTime.now(), ZoneId.systemDefault()).toInstant().toEpochMilli();
使用 java.sql.Timestamp 類(lèi):
對(duì)于數(shù)據(jù)庫(kù)操作來(lái)說(shuō),有時(shí)會(huì)用到 Timestamp 類(lèi),它可以精確到納秒,并且兼容SQL的時(shí)間戳類(lèi)型。
import java.sql.Timestamp; long timestamp = Timestamp.valueOf(java.time.LocalDateTime.now()).getTime();
如果需要更高精度的時(shí)間戳(例如微秒或納秒),可以考慮使用 Instant.now().getNano() 或者 Timestamp 類(lèi)提供的納秒級(jí)別的方法,但要注意這并不代表實(shí)際的納秒級(jí)時(shí)間戳,而是該秒內(nèi)的納秒數(shù)。
擴(kuò)展:Java-獲取當(dāng)前時(shí)間的時(shí)間戳
獲取當(dāng)前時(shí)間戳的方法有很多種,可以根據(jù)你的需求和使用的Java版本來(lái)選擇適合的方法。以下是五種獲取當(dāng)前時(shí)間戳的方法:
方法1:使用System.currentTimeMillis()
long currentTimeMillis = System.currentTimeMillis();
方法2:使用java.util.Date
Date currentDate = new Date(); long timestamp = currentDate.getTime();
方法3:使用java.time.Instant
Instant currentInstant = Instant.now(); long timestamp = currentInstant.toEpochMilli();
方法4:使用java.time.LocalDateTime和java.time.ZoneId
LocalDateTime localDateTime = LocalDateTime.now(); ZoneId zoneId = ZoneId.systemDefault(); ZonedDateTime zonedDateTime = ZonedDateTime.of(localDateTime, zoneId); long currentTimestamp = zonedDateTime.toInstant().toEpochMilli();
方法5:使用java.sql.Timestamp
Timestamp currentTimestamp = new Timestamp(System.currentTimeMillis()); long timestamp = currentTimestamp.getTime();
根據(jù)你的具體需求,選擇其中一種方法即可獲取當(dāng)前時(shí)間的時(shí)間戳。
最常用的是方法1 System.currentTimeMillis()
到此這篇關(guān)于java中獲取時(shí)間戳的方式的文章就介紹到這了,更多相關(guān)java獲取時(shí)間戳內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
java公眾平臺(tái)通用接口工具類(lèi)HttpConnectUtil實(shí)例代碼
下面小編就為大家分享一篇java公眾平臺(tái)通用接口工具類(lèi)HttpConnectUtil實(shí)例代碼,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-01-01
Shiro + JWT + SpringBoot應(yīng)用示例代碼詳解
這篇文章主要介紹了Shiro (Shiro + JWT + SpringBoot應(yīng)用),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
Jmeter多種定時(shí)器實(shí)現(xiàn)方法解析
這篇文章主要介紹了Jmeter多種定時(shí)器實(shí)現(xiàn)方法解析,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-09-09
淺談Java double 相乘的結(jié)果偏差小問(wèn)題
下面小編就為大家?guī)?lái)一篇淺談Java double 相乘的結(jié)果偏差小問(wèn)題。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-01-01
實(shí)戰(zhàn)SpringBoot集成JWT實(shí)現(xiàn)token驗(yàn)證
本文詳細(xì)講解了SpringBoot集成JWT實(shí)現(xiàn)token驗(yàn)證,文中通過(guò)示例代碼介紹的非常詳細(xì)。對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-12-12

