Java日期格式化注解@DateTimeFormat和@JsonFormat
@DateTimeForma
这个注解主要用于处理从前端传递到后端的日期和时间数据。当你的 Spring 应用程序接收到一个 http请求,并且请求参数包含日期和时间数据时,@DateTimeFormat
可以帮助你将这些数据解析为 Java Date
或 LocalDateTime
对象。
@JsonFormat
这个注解主要用于处理从后端传递到前端的日期和时间数据。当你的应用程序需要将 Date
或 LocalDateTime
对象序列化为 JSON 格式以发送到前端时,@JsonFormat
可以帮助你控制日期和时间的格式。
参数说明
1、@JsonFormat 的参数:
pattern:定义日期/时间的格式,例如 “yyyy-MM-dd HH:mm:ss”。
shape:定义值的形状(例如,是否应视为数组)。默认值为 Shape.ANY。
locale:定义用于格式化的区域设置。默认值为空,表示使用默认的 Locale。
timezone:定义用于格式化的时区。默认值为空,表示使用默认的 TimeZone。
lenient:定义解析是否宽松。默认值为 OptBoolean.DEFAULT。
2、@DateTimeFormat 的参数:
iso:定义 ISO 格式,例如 ISO.DATE。
pattern:定义日期/时间的格式,例如 “yyyy-MM-dd HH:mm:ss”。
style:定义样式模式,例如 “SS”。
示例
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
private Date date;