入参格式化
使用 Spring 的 @DateTimeFormat 注解格式化参数,来解决上述问题
public class DateVo { // 接收日期参数 @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date date; public void setDate(Date date){ this.date = date; } public Date getDate(){ return date; } }
输出格式化
使用 jackson 的 @JsonFormat 注解
public class DateVo { // 输出格式 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date date; public void setDate(Date date){ this.date = date; } public Date getDate(){ return date; } }
时间格式正确,但实际上当前时间是 “2018-08-01 22:32:57” ,早了8个小时。因为,jackson在序列化时间时是按照国际标准时间GMT进行格式化的,而在国内默认时区使用的是CST时区,两者相差8小时。
@JsonFormat( pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8" ) private Date date;