前後端交互出現的問題:前端顯示時間與H2數據庫時間數據相差八小時問題完美解決!

HI 大家好,我是菜鳥阿貴

近期在項目中遇到了一小小的問題,雖然不是大問題,但是自行百度以後覺得網友們用的技術和我的不太一樣,所以我在這裏給大家說明一下!

問題說明:項目是一個從前端拉取數據庫數據的操作,但是今天在拉取的時候出現了這個問題:
1:其他數據都顯示正確,可是就是時間戳有點問題,數據庫中的時間,和前段拉到的時間竟然相差八個小時!
2:這究竟是什麼原因呢?讓小弟來和大家講解一下:
①:原因:由於默認的是UTC時間,所以在中國有8個小時的時差!
簡單的來說,您需要將他改成本地時間,因爲數據庫會默認UTC,而我們中國要比這個時間多八小時!

刪除線utc格式

2: 如圖:我的H2數據庫時間數據:
在這裏插入圖片描述
如圖我們可以看出,我的時間戳是:2020-05-22 12:40:46

但是前段顯示的是這樣的:
在這裏插入圖片描述
由此可見,前段時間提前了八小時,那我們怎麼去解決呢,很簡單,你只需要在後端代碼中,實體類的地方,時間字段上添加如下代碼即可:

 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy/MM/dd HH:mm:ss", timezone = "GMT+8")

pattern:中的時間格式定義,您可以改成自己想要格式即可!
爲什麼本文要特別說明是 H2 數據庫?
因爲在網上都是Mysql 等相關數據庫的這類問題,很多新手朋友一看不是和自己相同的H2數據問題,他就會被誤導,其實各種數據庫遇到這種啊問題都是一樣的方法,只需要在實體類要獲取的時間字段上面添加此代碼即可解決!

-------------金麟豈是池中物一遇風雲便化龍----------------

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