@DateTimeFormat
主要解决前台到后台时间格式保持一致的问题
从前端传过来的参数是字符串 2022-03-03 22:05:55
,但接收参数的属性是Java.Util.DateTime类型。这个时候就会出现类型无法转换的问题。
因为需要@DateTimeFormat
注解将这个字符串按照某种格式来解析为 DateTime
类型
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private LocalDateTime dateTime;
如果我们打印这个 dateTime
属性的话会发现
2022-03-03T01:59:13
这个形式就是本来LocalDateTime的打印输出形式。也就是说
2022-03-03 22:05:55 ->
"yyyy-MM-dd HH:mm:ss" ->
dateTime ->
2022-03-03T01:59:13
假设代码中是这样的
@DateTimeFormat(pattern = "yyyy/MM/dd")
private LocalDate date;
而前端传过来的参数是
date: 2022-03-03
就会发生错误
@JsonFormat
主要解决后台到前台时间格式保持一致的问题
当我们在接口中返回的对象中含有 LocalDate
和 LocalDateTime
类型的属性时,如果不加处理,可能返回的数据就是
"dateTime": "2018-08-01T14:25:31.296+0000"
如果用上了注解,就会让时间格式进行解析以后再返回给前端。