mysql数据库中时间读取正确,但是在Java中执行sql时会比数据库中要多8个小时

首先从数据库连接出发
首先我们中国是东八区。可以这么写
在这里插入图片描述
jdbc.url=jdbc:mysql://***.***.***:3306/teacher_new?characterEncoding=UTF-8**&serverTimezone=Asia/Shanghai**
第二查看我们tomcat中是否指定时区
要在tomcat的bin下面的catalina.bat中指定时区
mysql数据库中时间读取正确,但是在Java中执行sql时会比数据库中要多8个小时_第1张图片
mysql数据库中时间读取正确,但是在Java中执行sql时会比数据库中要多8个小时_第2张图片
如果没有指定的话,我们就要指定它为东八区

JAVA_OPTS="${JAVA_OPTS} -Duser.timezone=GMT+08"

指定tomcat为东八区。

第三种是因为你的java代码中用的是时间戳。是1970-01-01 08:00
要改成1970-01-01 :00:00

还有一种是数据库没有指定时区。这种我就不写了。比较简单所以百度一下就可以搜得到。

本人第一次写博客,样式还不会条,写的不好的地方请在评论里指出。以后的博客会注意,并且会改回来。谢谢大家的支持。

你可能感兴趣的:(在线教育的bug)