今天調(diào)試系統(tǒng)發(fā)現(xiàn)從java輸出的時(shí)間和系統(tǒng)時(shí)間不同??偸遣?個(gè)小時(shí)。代碼如下:
SimpleDateFormat format = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
System.out.println(format.format(new Date()));
System.out.println(format.format(new Date()));
感覺可能是時(shí)區(qū)不對(duì),確實(shí)了下操作系統(tǒng)的時(shí)區(qū)設(shè)置的也正確。重啟電腦看了下BIOS的時(shí)間也是對(duì)的。無奈上網(wǎng)查找。
終于找到原來是注冊(cè)表時(shí)區(qū)設(shè)置不正確。
看這里:http://huiy.javaeye.com/blog/200512
注冊(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ī)器中
下載:注冊(cè)表信息