Spring Boot程序插入时间和MySQL数据库显示时间不一样(设置数据库时区)

 

首先查看数据库时区

show variables like "%time_zone%";

 

# 设置全局时区

mysql> set global time_zone = '+8:00';

 

# 设置时区为东八区

mysql> set time_zone = '+8:00';

 

 

# 刷新权限使设置立即生效

mysql> flush privileges;

 

修改之后查询显示

 

 

 

如果这样设置 程序插入后的时间和数据库显示的时间还是不一样的话 

那就直接连接的时候指定时区

useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai

指定时区 不要选择默认的UTC

 

 

还有一种可能就是 查询是对的但是使用@ResponseBody注解返回json给前端的时间 相差了8个小时

springboot默认使用jackson进行json转换,我们需要在返回的实体类中加上

 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Date createDate;

 

posted @ 2021-03-17 21:55  yvioo  阅读(1226)  评论(0编辑  收藏  举报