Java中用new Date()获取的时间比实际时间相差8小时的原因及解决方法:
原因是由于注册表中损坏或少了东西。
处理办法如下:
先在一台能正确获取系统时间的机器上的运行命令中输入:regedit进入注册表,再找到下面两个路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
找到后分别在Time Zones与TimeZoneInformation上面点击右键,再选择导出,扩展名为.reg,例如两个文件保存为:a.reg与b.reg。
如果觉得导出麻烦,可以直接使用我上传的附件中的两个reg文件。
再将这两个文件复制到出问题的那台机器上,双击这两个文件进行执行。完成之后需要重启电脑,再启动tomcat,再登录系统看获取的时间是否正确。
原因是由于注册表中损坏或少了东西。
处理办法如下:
先在一台能正确获取系统时间的机器上的运行命令中输入:regedit进入注册表,再找到下面两个路径:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Time Zones
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation
找到后分别在Time Zones与TimeZoneInformation上面点击右键,再选择导出,扩展名为.reg,例如两个文件保存为:a.reg与b.reg。
如果觉得导出麻烦,可以直接使用我上传的附件中的两个reg文件。
再将这两个文件复制到出问题的那台机器上,双击这两个文件进行执行。完成之后需要重启电脑,再启动tomcat,再登录系统看获取的时间是否正确。