前言
- 对象中获取到的系统时间和更新到MySQL后的时间存在时差
一、 问题:公司自带的框架在更新表时会更新对象中的更新时间
字段,更新到mysql后发现两者存在8小时时差
第一时间就想到的是MySQL系统默认是UTC的时间
MySQL会对传入的时间类型做本地化时差处理
所以这里只需要改变数据库驱动连接时的设置即可
二、 解决:JDBC连接时设置url的时区使用中国标准时间
- 使用北京时间东八区
- serverTimezone=GMT%2B8
- 或者使用上海时间
- serverTimezone=Asia/Shanghai
jdbc.driver=com.mysql.cj.jdbc.Driver
jdbc.url=jdbc:mysql://localhost:3306/myDB?characterEncoding=utf-8&useSSL=false&serverTimezone=Asia/Shanghai
jdbc.username=root
jdbc.password=123456
我这里使用的第二种时区设置,完美解决!!