讓你下班早走十分鐘的註解
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