@JsonFormat与@DatetimeFormat注解
@JsonFormat(pattern="yyyy-MM-dd") 将Date转换成String, 一般后台传值给前台时;
@DatetimeFormat是将String转换成Date, 一般前台给后台传值时用。
两种注解写在属性上面,或者是getter方法上面。
演示:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date startTime;
网上有些人说使用@JsonFormat(pattern="yyyy-MM-dd")
格式化日期,出现日期少一天的问题,这是因为没有设置timezone = "GMT+8"
,加上时区即可,中国是东八区。
至于为什么要shape = JsonFormat.Shape.STRING
,这个我也不清楚,公司这边都是这么加的。