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;

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM