日期格式化问题分为接收日期参数和返回日期类型字段。
配置接收时间戳
@ConfigurationpublicclassWebConfigimplementsWebMvcConfigurer {@OverridepublicvoidaddFormatters(FormatterRegistry registry) { registry.addFormatter(new Formatter<Date>() {@Overridepublic Dateparse(String date, Locale locale) {returnnew Date(Long.parseLong(date)); }@Overridepublic Stringprint(Date date, Locale locale) {return Long.valueOf(date.getTime()).toString(); } }); } }
接收日期字符串方法类似上面,此处略。
只针对方法配置接收日期字符串
// 方法1:在参数上加入该注解publicvoidtest(@DateTimeFormat(pattern ="yyyy-MM-dd")Date date){ }// 方法2:在接收类字段加入该注解publicvoidaddUser(User user){ }@DatapublicclassUser{private String name;@DateTimeFormat(pattern ="yyyy-MM-dd")private Date birthday; }
配置返回时间戳
spring jackson: serialization: write-dates-as-timestamps:true
全局配置返回字符串
spring: jackson:date-format: yyyy-MM-dd HH:mm:ss time-zone=GMT+8
在指定字段加入注解@JsonSerialize(using = xxxx.class)或@JsonFormat(pattern="yyyy/MM/dd HH:mm:ss",timezone = "GMT+8")