說明:
有的時候由前台jsp頁面填寫一個日期,提交到后台spring mvc的時候,我們希望直接轉換成一個Date類型,而不是由一個string 類型接收,然后再通過simpleDateFormat來進行轉格式,這樣太麻煩了,代碼會顯的很亂,spring為我們提供了類型轉化器,寫起來也是很麻煩,我們的需求很簡單就是由框架幫我們去自動的轉換類型而不是手動的轉換,在這樣的背景下,我們可以使用@DateTimeFormat注解。此外我們還有一個需求就是我們從數據庫里面查詢到了日期,然后我們想把這個日期自動的變成string類型,這時我們可以使用@JsonFormat注解。
@DateTimeFormat @JsonFormat 這兩個注解在網上搜索很很多資料,我只提幾個需要注意的地方:
- 注意這兩個注解的注解位置
- 注意被注解的字段應該是Date類型
- 一般會用在VO中
- @JsonFormat不要忘了加GMT+8
- @DateTimeFormat要注意前台傳過的日期格式是yyyy-MM-dd的形式,如果你傳了一個yyyyMMdd的形式會報錯(日期格式基於下面的程序):
1 @DateTimeFormat(pattern="yyyy-MM-dd") 2 private Date alertDate; 3 4 @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd HH:mm") 5 public Date getAlertDate() { 6 return alertDate; 7 } 8 9 public void setAlertDate(Date alertDate) { 10 this.alertDate = alertDate; 11 }