你有没有思考过时间问题:
前端为什么可以直接看见时间格式的数据
后端怎么接受的数据,怎么处理的
一般来说:前端传输来数据都是时间格式的字符串,那么后端需要能够解析时间格式的字符串,归功于JSONFormat ,可以解析
前端传输给后端时间
后端传输给前端时间
后端传输给数据库时间(你猜为什么会有java.sql.Date)
如果你用Date,你凭什么来让后端的Date的时间戳变为你想要的格式 即;
前后端传输指定格式的时间
加一个JSONFormatter可以传来时间解析
JsonFormat介绍
@JsonFormat
是 Jackson 库提供的注解之一,用于定制日期格式的序列化和反序列化规则。它可以用在类的字段或者 getter 方法上,指定日期的格式,以确保 JSON 数据在序列化和反序列化时能够正确地处理日期。
在你的代码中,你使用了 @JsonFormat
注解在类的字段上:
@JsonFormat(pattern = "yyyy-MM-dd")
Date birthday;
这段代码的作用是告诉 Jackson 在序列化和反序列化 birthday
字段时,使用指定的日期格式 "yyyy-MM-dd"
。这样,当你将对象序列化为 JSON 字符串时,日期会以指定的格式呈现,反之亦然。
注意:@JsonFormat
注解只是在序列化和反序列化时起作用,对于数据库的存储和检索并没有直接的影响。如果你遇到时区问题,可能需要在数据库操作层面进行额外的处理。
一般还有时区的问题,要加 timezone = "GMT+8"
不然出现我这篇文章的问题 -> 大雾来了