天天看點

連接配接資料庫 mysql serverTimezone 問題

遇到一個問題:項目jar包掃描後,更新了好多jar包,包括mysql的驅動jar包更新到了8.0版本以上。更新後從mysql中查出的時候,全都比資料庫的時間多13小時,而且這些時間存到資料庫的時間,有些是正确的時間,有時比正确時間少13小時,這樣傳回給前端的時間就不準确,解決這個問題隻要在springboot的資料庫連接配接配置中增加一段配置就能解決問題

spring:

   datasource:

      url:jdbc:mysql://localhost:3306/mydb3?serverTimezone=GMT%2B8&useSSL=false

這個時區要設定好,不然會出現時差,

如果你設定serverTimezone=UTC,連接配接不報錯,

但是我們在用java代碼插入到資料庫時間的時候卻出現了問題。

比如在java代碼裡面插入的時間為:2018-06-24 17:29:56

但是在資料庫裡面顯示的時間卻為:2018-06-24 09:29:56

有了8個小時的時差

UTC代表的是全球标準時間 ,但是我們使用的時間是北京時區也就是東八區,領先UTC八個小時。

//中原標準時間==東八區時間!=北京當地時間

serverTimezone=GMT%2B8

//或者使用上海時間

serverTimezone=Asia/Shanghai

我不确定為什麼我的時間相差13小時,加上這段設定也能解決問題,應該是之前我既沒有設定UTC,也沒有設定東八區,使用預設的,也許就差了13小時

轉自:原文位址