首先先说下为什么要使用这两个注解:

1.从数据库获取时间传到前端展示的时候,我们可能会看到Thu Aug 05 10:25:06 CST 2020这样的时间格式,无法得到一个满意的时间格式,我们可以看到在数据库中显示的是正确的时间格式,获取出来却变成了很丑的时间戳,@JsonFormat注解就可以解决这个问题。
2.我们使用WEB服务传递时间给后台,比如前端添加时间数据等,前端传递给后台的时间格式不一致的时候,我们就可以用到@DataTimeFormat这个注解就能解决这个问题了。

@JsonFormat的用法:
用在需要查询数据的的实体字段上加上这个注解(出参时使用)
    @JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
    private Date testTime;

@DateTimeFormat的用法:
表单自动封装映射对象时,在对应的接收前端数据对应的属性上(入参vo)
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date inputTime;

总结: 
  1.@JsonFormat主要用于后端到前端的时间格式的转换
  2.@DateTimeFormat主要用于前端到后端的时间格式的转换
  3.以上两个注解可以同时使用

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐