程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> Java中指准時區的3種辦法

Java中指准時區的3種辦法

編輯:關於JAVA

Java中指准時區的3種辦法。本站提示廣大學習愛好者:(Java中指准時區的3種辦法)文章只能為提供參考,不一定能成為您想要的結果。以下是Java中指准時區的3種辦法正文


這兩天在做與某著名一卡通公司的單點登錄集成(我們的產物應用Java編寫,對方的法式應用.Net編寫)個中有一項參數是時光戳。即以後時光絕對於公元1970-1-1 00:00:00的秒數。依照他們給出的文檔我完成了Java部門的編寫,時光戳部門很簡略,一句話:


    private String createTimestamp() //timestamp
    {
        return System.currentTimeMillis() / 1000 + "";
    }

應用System.currentTimeMillis()辦法就可以獲得自1970年1月1日0時0分0秒的毫秒數,除以1000天然是秒數。然則不測卻產生了,我發生的時光戳跟他們公司發生的時光戳差了一年夜截,查閱材料後發明.Net跟Java在處置時光上有收支。

.Net發生的時光都是以後時區確當前時光,而Java的currentTimeMillis()辦法獲得的倒是絕對於GMT來的時光。中國地點時區是+8區,故時光整整差了8小時!

所以當童鞋們再碰到.Net跟Java時光紛歧致的時刻,多往時區方面斟酌斟酌,說不定就可以找到處理方法了 :)

固然我會給出處理計劃:

辦法一:JVM運轉時增長參數,指准時區 -D user.timezone=GMT+08

辦法二:直接在法式中設置時區。System.setProperty(“user.timezone”,”GMT +08″);

辦法三:直接加上28800就行了(8hours*60min*60sec=28800)

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved