今天調試系統發現從java輸出的時間和系統時間不同。總是差8個小時。代碼如下:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(new Date()));
感覺可能是時區不對,確實了下操作系統的時區設置的也正確。重啟電腦看了下BIOS的時間也是對的。無奈上網查找。
終于找到原來是注冊表時區設置不正確。
看這里:http://huiy.javaeye.com/blog/200512
注冊表對應項:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
解決之道:
1.備份Time Zones這一項
2.從正常的并且是相同系統的機器中導出該項,然后倒入到自己機器中
下載:注冊表信息