【隨手記錄】時間格式轉換報錯:while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ'


微服務消費者調用提供者獲取實體類數據時候,報錯:

java.lang.IllegalArgumentException: Cannot deserialize value of type `java.util.Date` from String "2020-03-17 20:33:37": not a valid representation (error: Failed to parse Date value '2020-03-17 20:33:37': Cannot parse date "2020-03-17 20:33:37": while it seems to fit format 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', parsing fails (leniency? null))
at [Source: UNKNOWN; line: -1, column: -1] (through reference chain: ...)

大體意思就是時間格式不符合要求,查了下文檔對於時間,默認的轉換格式為

"yyyy-MM-dd'T'HH:mm:ss.SSSZ"  
"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"  
"EEE, dd MMM yyyy HH:mm:ss zzz"  
"yyyy-MM-dd" 

不符合我們要求,一般情況下在需要轉換的實體類上加注解

@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")

或者微服務配置中心為項目統一配置

#spring.jackson.time-zone=GMT+8
#spring.jackson.date-format=yyyy-MM-dd HH:mm:ss

即可解決!!

但是最近使用國產數據庫highgo適配時候,因為特殊要求,字段都是拼音定義的,比如CJSJ(創建時間) 這時候時間字段加注解還是報錯時間格式不對!

最后測試發現字段改為小寫可解決 cjsj(類似這樣!)

 


免責聲明!

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



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