首先查看數據庫時區
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;