當前位置:編程學習大全網 - 源碼下載 - Springboot入參時間格式問題

Springboot入參時間格式問題

自帶的jackson轉化的時候, 默認的時間格式yyyy-MM-dd'T'HH:mm:ss.SSS,也支持

這時,就可以使用 Spring 的 @DateTimeFormat 註解格式化參數,來解決上述問題。

再像上面壹樣訪問 /date/test ,並傳入參數:2018-08-02 22:05:55,將在控制臺上打印:

date1:Thu Aug 02 22:05:55 CST 2018

date2:2018-08-02 22:05:55

可以看到,加入 @DateTimeFormat 註解後參數可以被接收到了,但日期時間的格式還是需要自己再手動轉換壹下。

因為 @DateTimeFormat 註解的 pattern 屬性值指定的日期時間格式 並不是 將要 轉換 成的日期格式,這個指定的格式是和傳入的參數對應的,假如註解為:

@DateTimeFormat(pattern="yyyy/MM/dd HH:mm:ss")

則傳入的參數應該是這樣的:

2018/08/02 22:05:55

否則會拋出異常。

假如出參格式 "date": "1565003805835"

這個格式並不是我們想要的,那麽如何將其進行格式化?這時就需要用到 jackson 的 @JsonFormat 註解。

改造 DateVo:

傳入參數:2018-08-02 22:05:55,可以看到接口返回的結果為:

"date": "2018-08-01 14:32:57"

雖然時間格式正確了,但實際上當前時間是 “2018-08-01 22:32:57” ,早了8個小時。因為,jackson在序列化時間時是按照國際標準時間GMT進行格式化的,而在國內默認時區使用的是CST時區,兩者相差8小時。

所以,@JsonFormat 註解還要再加壹個屬性:

還原沖統壹格式fastjson校驗,時間格式傳入可以同時兼任時間戳和日期類型

參考: /zhou520yue520/article/details/81348926

  • 上一篇:來自“BB”的凝視:寶馬iX3、奔馳GLE 350 e上市
  • 下一篇:讓人過目不忘的昵稱英文
  • copyright 2024編程學習大全網