Java中new Date().getTime()時間戳使用詳解
getTime()返回值
Java和JavaScript都支持時間類型Date,他們的getTime()方法返回的是毫秒數(shù)。
默認返回的是13位數(shù)字,單位是毫秒。
注意事項
/**
* Returns the number of milliseconds since January 1, 1970, 00:00:00 GMT
* represented by this <tt>Date</tt> object.
*
* @return the number of milliseconds since January 1, 1970, 00:00:00 GMT
* represented by this date.
*/
public long getTime() {
return getTimeImpl();
}
容易造成誤解的地方
如果程序運行在東八區(qū),它返回北京時間1970年01月01日08時00分00秒起至現(xiàn)在東八區(qū)時間的總毫秒數(shù)。
如果運行在UTC時區(qū)則返回1970年01月01日00時00分00秒起至當前UTC時間的總毫秒數(shù)。
看起來似乎getTime()方法獲取的時間戳與程序所運行的時區(qū)有關。
Perdió的解釋非常好,摘抄如下:
其實不是的,getTime()本身是沒有問題,取到的timestamp就是從1970-01-01 00:00:00(UTC)起到當前的毫秒數(shù)。
與程序真實運行的容器(服務器)所在的時區(qū)無關。
東八區(qū)"北京時間1970年01月01日08時00分00秒"不就是UTC的1970年01月01日00時00分00秒嗎。
總結
以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關文章
使用JPA+querydsl如何實現(xiàn)多條件動態(tài)查詢
這篇文章主要介紹了使用JPA+querydsl如何實現(xiàn)多條件動態(tài)查詢,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-03-03
Mybatis MapperScannerConfigurer自動掃描Mapper接口生成代理注入到Spring的方法
這篇文章主要給大家介紹了關于Mybatis MapperScannerConfigurer自動掃描將Mapper接口生成代理注入到Spring的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下2019-03-03

