mysql serverTimezone useSSL 時差

剛開始遇到這個問題很驚訝,爲何我往數據庫添加的時間明明是當前時間(例:2019-3-03-29 09:00:00),然而數據庫中顯示的時間卻少了8個小時(例:2019-3-03-29 01:00:00)。很明顯,8個小時的時差,而且北京時區爲東八區,這應該就是時區設置問題了。

查看了一下項目中的數據庫連接設置,如下:

hibernate.dialect=org.hibernate.dialect.MySQL8Dialect

jdbc.driverClassName=com.mysql.jdbc.Driver
jdbc.url=jdbc:mysql:/127.0.0.1:8080/test?useSSL=false&serverTimezone=UTC
jdbc.username=root
jdbc.password=root

發現其中serverTimezone設置的值爲UTC,UTC代表的是全球標準時間 ,而我們所在的時區是東八區,領先UTC八個小時,這就是導致問題所在了。

解決方法:將serverTimezone設置爲北京時間或者上海時間來解決。

//北京時間東八區
serverTimezone=GMT%2B8 
//上海時間
serverTimezone=Asia/Shanghai

爲何沒有asia/beijing時區?

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章