@JsonFormat 跟 @DateTimeFormat
1.前端 传给 后端。
当前端传来的是键值对,用@DateTimeFormat 规定接收的时间格式。
@ApiModelProperty(value = "创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date createTime;
重点
当前端传来json串,后台用@ReuqestBody接收,必须用@JsonFormat 规定接收的时间格式。
@ReuqestBody 如果不使用@JsonFormat 接收空格会自动转换成 T 导致时间转化错误
报错详情
org.springframework.http.converter.HttpMessageNotReadableException:
Could not read document: Can not deserialize value of type
java.util.Date from String "2019-07-12T03:18:43.500Z": expected format "yyyy-MM-dd HH:mm:ss"
建议改成这样的格式
@ApiModelProperty(value = "创建时间")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
后端 传给 前端。
后端返回给前端的时间值,只能用@JsonFormat 规定返回格式
@ApiModelProperty(value = "创建时间")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
private Date createTime;
@DateTimeFormat 无法决定返回值的格式。
@JsonFormat 是jackson提供。
@DateTimeFormat 由spring提供。