mysql時區設置為東八區


場景:后台返回給頁面的時間統一差8小時。

 

分析:差八小時,應該是時區問題。具體的是哪一層出的問題呢,mybatis?mysql?系統時間?

 

解析:

1.查詢mysql時區(正常)

輸入show variables like "%time_zone%";,顯示當前時區

全局參數system_time_zone
系統時區,在MySQL啟動時會檢查當前系統的時區並根據系統時區設置全局參數system_time_zone的值。

全局參數time_zone

用來設置每個連接會話的時區,默認為system時,使用全局參數system_time_zone的值。

中國標准時間=CST(China Standard Time) UT+8:00 。

mysql的時區=system_time_zone+time_zone

 

2.mybatis的時間出問題啦?系統時間出問題啦?

  代碼debug調試,顯示代碼取的當前系統時間正常,但是寫入庫的時候就異常差了八小時。初步懷疑是mybatis的什么配置異常導致。

  mybatis我找到可能影響時區的就是連接串上的配置,,嘗試將這個改為

  

  運行test方法插入數據庫,時間已修正。

 

綜上確認問題:mybatis的連接串上的時區設置異常,導致插入日期數據時區異常

 

 

 

參考鏈接:

https://www.cnblogs.com/moss_tan_jun/p/5730005.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM