@JsonFormat与@DateTimeFormat注解的使用
2022-08-20 本文已影响0人
flyjar
@JsonFormat
- 1、什么是@JsonFormat
@JsonFormat用来表示json序列化的一种格式或者类型。作用在get方法上
@JsonFormat(shape =JsonFormat.Shape.STRING,pattern ="yyyy-MM-dd HH:mm:ss",timezone ="GMT+8")
private LocalDate createTime;
- 2、为什么用@JsonFormat
@JsonFormat注解是一个时间格式化注解,比如我们存储在mysql中的数据是date类型的,当我们读取出来封装在实体类中的时候,就会变成英文时间格式,而不是yyyy-MM-dd HH:mm:ss这样的中文时间,因此我们需要用到JsonFormat注解来格式化我们的时间。
简而言之,将数据库中的data类型的时间格式化为yyyy-MM-dd HH:mm:ss。
- 3、对应参数
- pattern: 表示日期的格式
- timezone: 默认是GMT,中国需要GMT+8
- locale: 根据位置序列化的一种格式
@DateTimeFormat
- 1、什么是@DateTimeFormat
@DateTimeFormat用来json反序列化Date数据类型的。作用在set方法上
@DateTimeFormat(pattern = "yyyy-MM-dd")
private LocalDate beginTime;
- 2、为什么用@DateTimeFormat
前台传string类型的时间字符串,需要将字符串反序列化为了date类型对象
总结:
注解@JsonFormat主要是后台传送到前台的时间格式的转换
注解@DateTimeFormat主要是前后传送到后台的时间格式的转换
SpringBoot项目中已经添加了jackson 相关依赖,所以不用额外导入依赖。