背景
开发中面对日期格式的出入参通常有两种情况:
1:日期出入参格式问题
1.1 将日期按照指定的格式用Date接收
1.2 postman接口调用string类型日期使用Date接收异常
2:将数据库查询的日期以特定的格式返回给前端,例如:yyyy-MM-DD HH:mm:ss
此两种情况都需要在Date类型的属性上添加@Jsonformat注解,并指定pattern格式。
对于第一种情况中的报错,通常表现为使用postman调用接口时,传参"createTime":“2024-05-30 23:59:59”,在后端使用Date类型进行接收时报错:String类型不能转换为Date类型,方法如下:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date updateTime;
第二种情况:数据库查询日期返回前端少8小时
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
private Date updateTime;
这种情况往往是因为时区问题,在JsonFormat注解中添加timezone="GMT+8"即可解决