问题描述:
在使用springboot存储Date类型的数据到数据库时,时间总是会向前推八个小时,举个例子
我在后台存储的时间为2019.6.13 12:00:00,则数据库中的时间为04:00:00
解决方案:
在数据库配置文件中加上如下设置:
[mysqld]
default-time-zone=+8:00
这个问题解决后,又产生了一个新问题,前端获取的时间比后台给的时间又少了8小时-.-,这个问题比较好理解,经百度得知,原因如下:
springboot在返回Date类型的数据时,会通过默认的Jackson框架转换,而Jackson框架默认的时区是GMT(相对于中国是少了8小时)。
所以前端看到的是减了8个小时的时间
解决方案如下:
在application.yml添加配置
至此,问题解决。