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 @   yvioo  阅读(1241)  评论(0编辑  收藏  举报
编辑推荐:
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
历史上的今天:
2019-03-17 Linux(Centos)配置tomcat服务并且开机自启动
2019-03-17 Centos安装Oracle及问题处理
点击右上角即可分享
微信分享提示