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;
-----------------------有任何问题可以在评论区评论,也可以私信我,我看到的话会进行回复,欢迎大家指教------------------------
(蓝奏云官网有些地址失效了,需要把请求地址lanzous改成lanzoux才可以)