1、spring.jackson.*** 會配置時區
2、實體類的注解@JsonFormat也有一個時區
3、mysql連接的時候,serverTimezone也有一個時區
4、操作系統還有一個時區
5、mysql也有一個時區
流程:
1、前端傳給mvc一個字符串的時候,mvc要根據"yml中jackson的配置優先於@JsonFormat指定的時區"的規則,轉換成一個時間戳
2、mybatis(hibernate)要把這個時間戳,根據系統的時區,轉換成一個字符串,傳遞給mysql
3、mysql收到這個字符串,要根據 "會話指定的時區 優先於 mysql默認的的時區"的規則,轉成一個時間戳存儲,反之,從mysql中查詢日期,也是一樣的規則
如果會話的時區不變,存儲和讀取收到的時間是一致的。
