原帖地址:http://huiy.javaeye.com/blog/200512
問題描述:Window XP 系統(tǒng)自己能夠讀取正確的時間,但是用java獲取的時間始終與北京時間相差八個小時。
原因分析:
1.系統(tǒng)本身時區(qū)設置錯誤(可以排除,上面已經交代系統(tǒng)能夠獲取正確時間)
2.注冊表出現(xiàn)異常。
注冊表對應項:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
解決之道:
1.備份Time Zones這一項
2.從正常的并且是相同系統(tǒng)的機器中導出該項,然后倒入到自己機器中
上招不行,還有一招!
1.找到jdk 的安裝路徑 找到 如:
a) C:\Program Files\Java\jdk1.5.0\jre\lib\zi\Etc;
b) C:\Program Files\Java\jdk1.5.0\jre\lib\zi;
c) C:\Program Files\Java\jre1.5.0\lib\zi\Etc;
d) C:\Program Files\Java\jre1.5.0\lib\zi;
這四個文件路徑下找到 GMT 文件 進行刪除(注意:在刪除之前將其文件備份一下,以防萬一);在 C:\Program Files\Java\jdk1.5.0\jre\lib\zi\Etc 下找到 GMT-8 文件復制一份 重命名為 CMT ,將其原來 的 GMT 文件覆蓋掉即可!