yml鏈接mysql路徑serverTimezone=UTC的那些坑


轉載於 :https://blog.csdn.net/baidu_38837718/article/details/104981617

serverTimezone=UTC的那些坑


**

 

UTC

**
首先,介紹一下什么是UTC,UTC,簡稱世界統一時間,跟北京時間相比,比北京早8個小時,也就是說,北京2020年3月20日18點的時候,UTC時間為2020年3月20日10點

**

**
如果你用編譯器連接數據庫,定義了serverTimezone=UTC,那么在你編譯器上執行的SQL語句,會先以UTC時區進行存儲,發送到MySQL,然后MySQL以本地時區進行轉換,就會導致,執行時間比從編譯器上的執行時間早8個小時,導致,同一段SQL語句,在mysql直接執行,與編譯器執行,結果不同,因為時間相差8個小時

serverTimezone=UTC
統計3月13日到3月19日的數據,Navicat運行右下角顯示有21條記錄
在這里插入圖片描述
傳到編譯器卻顯示只有18條記錄
在這里插入圖片描述
原因如下:
編譯器上設置的時區屬性會UTC,雖然傳往后台的時間是2020-03-13 03:17:33.408(Timestamp), 2020-03-19 03:17:33.408(Timestamp),但是在沒到達后台之前,進行了一次存儲,以UTC時區進行存儲,也就是2020-03-12 19:17:33.408(Timestamp), 2020-03-18 19:17:33.408(Timestamp),然后到達后台后,取出,進行查詢的時間段,就早了8個小時,也就只有18條記錄
在這里插入圖片描述
解決方式
將屬性設置為
serverTimezone=Asia/Shanghai
在這里插入圖片描述


免責聲明!

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



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