Java中指定時區(qū)的3種方法
這兩天在做與某知名一卡通公司的單點登錄集成(我們的產(chǎn)品使用Java編寫,對方的程序使用.Net編寫)其中有一項參數(shù)是時間戳。即當(dāng)前時間相對于公元1970-1-1 00:00:00的秒數(shù)。按照他們給出的文檔我完成了Java部分的編寫,時間戳部分很簡單,一句話:
private String createTimestamp() //timestamp
{
return System.currentTimeMillis() / 1000 + "";
}
使用System.currentTimeMillis()方法就能得到自1970年1月1日0時0分0秒的毫秒數(shù),除以1000自然是秒數(shù)。但是意外卻發(fā)生了,我產(chǎn)生的時間戳跟他們公司產(chǎn)生的時間戳差了一大截,查閱資料后發(fā)現(xiàn).Net跟Java在處理時間上有出入。
.Net產(chǎn)生的時間都是當(dāng)前時區(qū)的當(dāng)前時間,而Java的currentTimeMillis()方法得到的卻是相對于GMT來的時間。中國所在時區(qū)是+8區(qū),故時間整整差了8小時!
所以當(dāng)童鞋們再遇到.Net跟Java時間不一致的時候,多往時區(qū)方面考慮考慮,說不定就能找到解決辦法了 :)
當(dāng)然我會給出解決方案:
方法一:JVM運行時增加參數(shù),指定時區(qū) -D user.timezone=GMT+08
方法二:直接在程序中設(shè)置時區(qū)。System.setProperty(“user.timezone”,”GMT +08″);
方法三:直接加上28800就好了(8hours*60min*60sec=28800)
相關(guān)文章
java面向?qū)ο笾畬W(xué)生信息管理系統(tǒng)
這篇文章主要為大家詳細介紹了java面向?qū)ο笾畬W(xué)生信息管理系統(tǒng),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2020-03-03Intellij IDEA 錄制快捷鍵實現(xiàn)自動格式化的方法
這篇文章主要介紹了Intellij IDEA 錄制快捷鍵實現(xiàn)自動格式化的方法,本文給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09使用Feign消費服務(wù)時POST/GET請求方式詳解
這篇文章主要介紹了使用Feign消費服務(wù)時POST/GET請求方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2021-06-06