使用@JsonFormat的一個坑及解決
使用@JsonFormat的一個坑及解決
spring boot項目 ,mysql數據庫的datetime數據類型無法使用@JsonFormat解析 ,使@JsonFormat註解失效 。
原因不明 ,解決方案未明-待。。
有一個解決方案:
@JsonFormat註解在字段解析的時候失效瞭 ,但是放在application.yml配置文件中可以生效。具體原因不明 ,猜測底層覆蓋掉format方法 或者Jackson 默認走配置文件的方式?
解決如下
spring: jackson: date-format: yyyy-MM-dd HH:mm:ss time-zone: GMT+8
同級 spring.jackso.date-formact
JsonFormat的時間格式踩坑
使用JsonFormat註解來處理時間格式時,一定要註意規范寫日期格式,否則會出現奇奇怪怪的時間轉換bug
正確格式
@JsonFormat(partten="yyyy-MM-dd",timezone="GMT+8") private Date startDate;
錯誤格式:輸出的時間會變成每月1號
@JsonFormat(partten="yyyy-mm-dd",timezone="GMT+8") private Date startDate;
正確格式
@JsonFormat(partten="yyyy-MM-dd HH:mm:ss",timezone="GMT+8") private Date startDate;
錯誤格式:輸出時間會早10小時
@JsonFormat(partten="yyyy-MM-dd hh:mm:ss",timezone="GMT+8") private Date startDate;
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- springboot 返回json格式數據時間格式配置方式
- java日期時間格式化@JsonFormat與@DateTimeFormat的使用
- Java日期轉換註解配置date format時間失效
- Springboot配置返回日期格式化五種方法詳解
- springboot前端傳參date類型後臺處理的方式