Java 时间不一致

Posted ^梦幻星空^

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Java 时间不一致相关的知识,希望对你有一定的参考价值。

1.new Date() 得到的时间?和系统相差 相差8个小时

2.eclipse控制台打印的时间与系统相差 相差8个小时

3.log4j日志的时间与与系统相差 相差8个小时

上述问题其实是同一个问题。

原因:java获得的时区跟系统的时区不一样

 

解决方法如下:

1.在代码前加上下面这句话就行了:TimeZone.setDefault(TimeZone.getTimeZone("Asia/Shanghai"))

2.在tomcat中修改catalina.bat文件的 set JAVA_OPTS在后面加上-Duser.timezone=GMT+08

3.修改注册表中的默认时区改成(GMT+08:00) 北京,重庆,香港特别行政区,乌鲁木齐

如果还不行看下:从正常的并且是相同系统的机器中导出HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Time Zones 项,然后导入到自己机器中 。

以上是关于Java 时间不一致的主要内容,如果未能解决你的问题,请参考以下文章

Docker Java应用日志时间和容器时间不一致

Java 时间不一致

linux系统下java程序获取的时间与系统时间不一致

Java:为啥 \t 转义字符与 toString() 不一致? [复制]

java:systemd-notify 中的看门狗超时不一致

java版本和javac版本不一致