在不改变数据库时区前提下:
对数据库连接url的时区进行修改为Asia/Shanghai
:
db.url=jdbc:mysql://localhost:3306/zj_community?characterEncoding=utf8&serverTimezone=Asia/Shanghai
如果使用了Jackson,还需要添加:timezone = "GMT+8"
例如:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date joinTime;
修改mysql时区
方式一:命令修改
set global time_zone = '+8:00'; ##修改mysql全局时区为北京时间,即我们所在的东8区
set time_zone = '+8:00'; ##修改当前会话时区
flush privileges; #立即生效
方式二:修改配置文件【linux:my.cnf,windows:my.ini】
在[mysqld]区域中加上:default-time_zone = '+8:00'
参考文章:MySQL-时区导致的时间前后端不一致