前言 最近项目上在接口json格式,前端传递日期是string,实体类是Date,格式化的时候报了个错 Failed to convert property value of type ‘java.lang.String‘ to required type ‘java.util.Date
,和明显是string不能转到date
解决 在相应的属性上使用 @DateTimeFormat 注解,并指定格式,见第 14 或 16 行:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 import java.util.Date; import org.springframework.format.annotation.DateTimeFormat; import lombok.AllArgsConstructor; import lombok.Data; import lombok.NoArgsConstructor; @NoArgsConstructor @AllArgsConstructor @Data public class BillsVo { @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date startTime; @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date endTime; }
顺带说一下,返回json格式化日期,需要在相应的类的属性上使用 @JsonFormat 注解:
1 2 3 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date billtime;
如果使用的是fastjson,注解有所不同,但原理相同