问题背景
在测试dao层的某个增加方法时,往数据库增加了一条带有时间字段的记录,这个时间字段非常重要,所以我额外的观察了一下,竟然发现存在于数据库的时间字段竟然和真实的时间相比少了8个小时。
问题展示
解决方案
由于我的数据库连接url
为如下图:
可以看见时区的标准是UTC(世界标准时间)
,但是我们国内的时间是UTC+8
,也就是比世界标准时间早了8
小时,所以问题的原因找到了,解决方案就是将时区改为国内的即可:
- 将
serverTimezone
的值改为Asia/Shanghai
,即serverTimezone=Asia/Shanghai
上海并不是国内唯一的标准时区,像北京、乌鲁木齐的时区都是可以的。