Java獲取當(dāng)前時(shí)間的時(shí)間戳(13位和10位)
背景:項(xiàng)目中正好用到時(shí)間戳,但是自己手寫還記不住,索性就記錄下來吧,要不然總是百度,??
13位的時(shí)間戳的三種方式
long time1 = System.currentTimeMillis(); // long time2 = Calendar.getInstance().getTimeInMillis(); // long time3 = new Date().getTime();
運(yùn)行完上述代碼,顯示如下;
time1: 1684398076253
time2: 1684398076253
time3: 1684398076253
10位的時(shí)間戳的三種方式
long time1 = System.currentTimeMillis() / 1000; // long time2 = Calendar.getInstance().getTimeInMillis() / 1000; // long time3 = new Date().getTime() / 1000;
運(yùn)行完上述代碼,顯示如下;
time1: 1684398346
time2: 1684398346
time3: 1684398346
java時(shí)間戳 10位和13位分別是怎么來的?
最近遇到一個比較頭疼的問題。
語言是java,將當(dāng)前時(shí)間(new Date())set進(jìn)bean中,然后使用fastjson將bean轉(zhuǎn)換成json,存放在redis中。
但問題就來了,首先時(shí)間yyyy-mm-dd hh:mm:ss格式轉(zhuǎn)換成json會自動轉(zhuǎn)成時(shí)間戳,13位的,
而ios端只能解析10位的時(shí)間戳。
問題1:為什么會生成13位的時(shí)間戳,13位的時(shí)間戳和10時(shí)間戳分別是怎么來的
經(jīng)過百度得知,原來java的date默認(rèn)精度是毫秒,也就是說生成的時(shí)間戳就是13位的,
而像c++或者php生成的時(shí)間戳默認(rèn)就是10位的,因?yàn)槠渚仁敲搿?/p>
問題2:13位時(shí)間戳如何轉(zhuǎn)換成10位時(shí)間戳
本來以為java中有設(shè)置可以修改其時(shí)間精度,后來在百度上沒有找到,就只能采用其它方法來轉(zhuǎn)化,這里提供兩種方式來轉(zhuǎn)換。
第一種:通過substring方法,將13位的時(shí)間戳最后三位數(shù)字截取
第二種:將13位時(shí)間戳除以1000取整。
ps:個人覺得這兩種方法好low,目前沒有更好的方法
另外提供一段時(shí)間戳轉(zhuǎn)時(shí)間的代碼:
/**
* 時(shí)間戳轉(zhuǎn)時(shí)間(10位時(shí)間戳)
* @param time
* @return
*/
public static String timestampToDate(long time) {
String dateTime;
SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
long timeLong = Long.valueOf(time);
dateTime = simpleDateFormat.format(new Date(timeLong * 1000L));
return dateTime;
}到此這篇關(guān)于Java獲取當(dāng)前時(shí)間的時(shí)間戳(13位和10位)的文章就介紹到這了,更多相關(guān)Java獲取當(dāng)前時(shí)間時(shí)間戳內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
- Java怎么獲取當(dāng)前時(shí)間、計(jì)算程序運(yùn)行時(shí)間源碼詳解(超詳細(xì)!)
- Java獲取當(dāng)前時(shí)間的時(shí)間戳方法總結(jié)
- Java獲取當(dāng)前時(shí)間并轉(zhuǎn)化為yyyy-MM-dd?HH:mm:ss格式的多種方式
- Java獲取時(shí)間如何將當(dāng)前時(shí)間減一天、一月、一年、并格式化
- java獲取當(dāng)前時(shí)間戳的方法
- 教你使用Java獲取當(dāng)前時(shí)間戳的詳細(xì)代碼
- Java如何獲取當(dāng)前時(shí)間的小時(shí)/分鐘(實(shí)現(xiàn)方法)
相關(guān)文章
Springboot使用redisson實(shí)現(xiàn)分布式鎖的代碼示例
在實(shí)際項(xiàng)目中,某些場景下可能需要使用到分布式鎖功能,那么實(shí)現(xiàn)分布式鎖有多種方式,常見的如mysql分布式鎖、zookeeper分布式鎖、redis分布式鎖,本文介紹springboot如何使用redisson實(shí)現(xiàn)分布式鎖,需要的朋友可以參考下2023-06-06
JSR303校驗(yàn)前端傳遞的數(shù)據(jù)方式
這篇文章主要介紹了JSR303校驗(yàn)前端傳遞的數(shù)據(jù)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-01-01
Idea跑的項(xiàng)目沒問題將程序install成jar包運(yùn)行報(bào)錯空指針的問題
這篇文章主要介紹了Idea跑的項(xiàng)目沒問題,將程序install成jar包運(yùn)行報(bào)錯空指針的問題,本文通過圖文并茂的形式給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-06-06
springboot表單提交之validator校驗(yàn)
在前臺表單驗(yàn)證的時(shí)候,通常會校驗(yàn)一些數(shù)據(jù)的可行性,比如是否為空,長度,身份證,郵箱等等,這篇文章主要給大家介紹了關(guān)于springboot表單提交之validator校驗(yàn)的相關(guān)資料,需要的朋友可以參考下2021-05-05
springboot使用@Validated或@Valid注解校驗(yàn)參數(shù)方式
這篇文章主要介紹了springboot使用@Validated或@Valid注解校驗(yàn)參數(shù)方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-07-07
springboot對接支付寶支付接口(詳細(xì)開發(fā)步驟總結(jié))
這篇文章主要介紹了springboot對接支付寶支付接口(詳細(xì)開發(fā)步驟總結(jié)),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06

