最近做項目測試的發現,訪問Url返回的時間與資料庫中的不相同,環境是Spring boot+MyBatis+Mysql(阿裡雲伺服器),經過一番折騰,得到瞭解決 問題描述 我是直接使用IDEA的資料庫控制台,往資料庫中某個表插入了數據,該表存在著一個欄位date,此欄位是插入數據的時候由資料庫自動賦 ...
最近做項目測試的發現,訪問Url返回的時間與資料庫中的不相同,環境是Spring boot+MyBatis+Mysql(阿裡雲伺服器),經過一番折騰,得到瞭解決
問題描述
我是直接使用IDEA的資料庫控制台,往資料庫中某個表插入了數據,該表存在著一個欄位date,此欄位是插入數據的時候由資料庫自動賦值,從資料庫中的查詢語句,時間是正確的,但是,使用了訪問Url來進行查詢,返回的json數據中的時間就是比資料庫中的時間要晚8小時
原因
原因其實很簡單,因為spring boot預設使用的jackson來將實體類對象轉為json數據,而jackson預設的時區和資料庫中的時區不一樣,jackson應該用的是美國時區(猜測),所以,jackson將實體類對象轉為json數據的時候,把時間調為了美國時區,所以就晚了8小時
解決方法
解決方法很簡單,只需要在spring boot中的配置文件配置jackson的時區即可,這裡我採用的yml文件進行配置
spring:
jackson:
time-zone: GMT+8