關於解決MySQL插入時間差八小時問題

解決MySQL插入時間差八小時問題

通常 jdbc url中 須要添加幾個參數 , 大多數博客給的教程都是 useSSL=false&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC 這幾個參數,java

配置結果爲:  jdbc:mysql://localhost:3306/test?useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTCmysql

對於解決時區問題,之前我也是這麼用的 serverTimezone=UTC ,直到了今天踩到小坑了,才知道這不是萬能的.


首先正常插入一條記錄
發現數據庫的記錄時間和本地的時間不太同樣


第一種: 查看 mysql 中的時間

先在cmd中使用 mysql -u 用戶名 -p 密碼來登陸mysql
輸入select now();
查看MySQL時間

若是時間和你本地當前時間一致
說明mysql的時間沒有問題, 問題就出如今java時間上
將jdbc url參數修改爲  serverTimezone=Asia/Shanghai   試試.


第二種: 若是查詢 mysql 時間和本地不一致,使用如下語句設置mysql時區

show variables like '%time_zone%';    //查詢當前時區
 set global time_zone='+8:00';      //在標準時區上加+8小時,即東8區時間
 flush privileges;   # 當即生效


最終測試效果

成功sql

相關文章
相關標籤/搜索