Mysql查询时间和页面显示时间相差八个小时
错误现象
mysql数据库创建后。默认的时区比东八区少了八个小时。如果sql语句中使用到mysql的时间的话就会比正常时间少了八个小时。所以需要修改mysql的系统时区。
set global time_zone = ‘+8:00’;设置时区更改为东八区
flush privileges; 刷新权限
后来发现是在
jdbcUrl=jdbc:mysql://localhost:8080/shujuku?useUnicode=true&characterEncoding=UTF-8&useJDBCCompliantTimezoneShift=true&useLegacyDatetimeCode=false&serverTimezone=UTC&useSSL=false
链接数据库时serverTimezone=UTC这个参数出的问题
只要改成serverTimezone=Asia/Shanghai就OK了!
==============================
补充一下,因为上面是全局变量,所以修改的话可能会影响其他模块的正常运行。
有一个取巧的方法,我是因为是新模块,所以属性值的类型没有用Data,而是用的String,就不会有这个问题,而且在SQL里面可以正常使用DATA()函数不受影响,(猜测可能是可以自动转化格式,不懂所以不确定),这样的话不管是前端页面还是后台都可以正常截取字符串到需求需要。