Java解析與格式化註解

 

讓你下班早走十分鐘的註解


Spring時間解析註解——來源Spring框架自帶

@DateTimeFormat

 org.springframework.format.annotation.DateTimeFormat

功能:字符串格式化成日期,常用於前臺向後端傳參,解析json串

支持常見標準時間格式:①yyyy-MM-dd HH:mm:ss②HH:mm:ss④……       

@DateTimeFormat(style="HH:mm:ss")
@ApiModelProperty(value = "工作起始時間")
private Time workingTimeStar;

@DateTimeFormat屬性講解

屬性style: 允許我們使用兩個字符的字符串來表明怎樣格式化日期和時間。第一個字符表明了 日期的格式,第二個字符表明了時間的格式。


Pattern: 屬性允許我們使用自定義的日期/時間格式。該屬性的值遵循java標準的date/time格式規範

PS:測試發現style Pattern都可以設置爲yyyy-MM-dd HH:mm:ss或HH:mm:ss 可成功解析傳入的json串(TODO未進一步研究)


Jackson將時間格式化時間註解——來源Jackson插件

@JsonFormat

com.fasterxml.jackson.annotation.JsonFormat

功能:把時間格式化爲字符串,常用數據展示,數據轉VO,數據轉json

支持常見標準時間格式:①yyyy-MM-dd HH:mm:ss②yyyy-MM-dd③HH:mm:ss④……       

@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
@ApiModelProperty(value = "創建時間")
private Date createTime;

timezone 時區   東八區(北京時間)

 


 

@JSONField

com.alibaba.fastjson.annotation.JSONField
用法:
name:@JSONField(name=”json中的name”)主要用於指定前端傳到後臺時對應的key值,默認key=private String name,name
format :@JSONField(format=”yyyy-MM-dd”)主要用於解析日期

@JSONField(format="yyyy-MM-dd HH:mm:ss")
@ApiModelProperty(value = "創建時間")
private Date createTime;

名稱 功能
NumberFormatter 實現Number與String之間的解析與格式化
CurrencyFormatter 實現Number與String之間的解析與格式化(帶貨幣符號)
PercentFormatter 實現Number與String之間的解析與格式化(帶百分數符號)
DateFormatter 實現Date與String之間的解析與格式化
NumberFormatAnnotationFormatterFactory @NumberFormat註解,實現Number與String之間的解析與格式化,可以通過指定style來指示要轉換的格式(Style.Number/Style.Currency/Style.Percent),當然也可以指定pattern(如pattern=“#.##”(保留2位小數) ),這樣pattern指定的格式會覆蓋掉Style指定的格式
JodaDateTimeFormatAnnotationFormatterFactory @DateTimeFormat註解,實現日期類型與String之間的解析與格式化這裏的日期類型包括Date、Calendar、Long以及Joda的日期類型。必須在項目中添加Joda-Time包

拓展

@InitBinder對錶單數據綁定解決String轉換Date問題
單獨寫類型轉換器


spring boot結合jackson全局配置(自動轉換時間)https://www.cnblogs.com/liaojie970/p/9396334.html
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8

JAVA--fastJSON+自定義註解格式化實體字段 https://blog.csdn.net/yu459348471/article/details/75414749

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章