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