SpringBoot返回date日期格式化,解決返回為TIMESTAMP時間戳格式或8小時時間差
問題描述
在Spring Boot項目中,使用@RestController注解,返回的java對象中若含有date類型的屬性,則默認輸出為TIMESTAMP時間戳格式(數據庫datetime類型查詢出來就是時間戳) ,如下所示:
解決方案
解決方案有多種,這里只記錄本人覺得最簡單的一種。一般我們的日期顯示格式為:yyyy-MM-dd HH:mm:ss,所以我們可以在配置文件中進行全局配置。
在application.properties配置文件增加以下配置::
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
第一行指定date輸出格式為yyyy-MM-dd HH:mm:ss;
第二行指定時區,解決8小時的時間差問題。
運行結果:
參照上面的方式如果還還是解決不了,可以在實體類上加上 下面這個注解
參考:https://blog.csdn.net/beauxie/article/details/78552919
springboot2.0后,spring會將時間自動給轉成UTC字符串了
springboot1.x版本的將date字段返回的是時間戳
配置返回時間戳
spring
jackson:
serialization:
write-dates-as-timestamps: true
全局配置返回字符串
spring:
jackson:
date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8