jackson自動將東八區時間轉成標准時間


springboot返回時間有錯解決方案

問題

有些人做springboot項目會遇到一個問題:前端寫一個時間,然后傳到后台莫名其妙的就少了一天,也就是實際存進數據庫的時間比你前端寫的時間少


原因和解決方案

原因一:可能你spring時區忘記配置了(否者會使用spring默認時區),所以要在配置文件里面配置,如下:
spring.jackson.time-zone=GMT+8
這條語句能解決你時間少8個小時問題,當然一般會在跟上一條時間戳配置,如下:
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
這條語句可以是Date時間格式化,一般這兩條語句一起用。

原因二:這個原因隱藏很深,當你發現你加上上面兩條語句后時間還是少的話,若你有用的數據庫是mysql,且mysql.jar是6.x版本的話(與5.x不同),可能你配置的時區錯了,在url加上serverTimezone=Asia/Shanghai,一般都會配置成UTC(世界標准時間,中國標准時間是東八區的,比它晚整整8個小時),所以在中國一定要配置成上海的,方便我們做項目處理時間問題。當然,說的多還不如貼出來: 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM