@JsonFormat和@DateTimeFormat
@JsonFormat
和@DateTimeFormat
都是用于控制Java对象在序列化成JSON字符串或从JSON字符串反序列化成Java对象时的日期格式。
@JsonFormat
是Jackson库提供的注解,可以用于控制JSON序列化的日期格式。它支持多种日期格式,可以设置日期的输出格式、时区、locale等。例如:
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8")
private Date date;
这个注解表示将date
字段以"yyyy-MM-dd HH:mm:ss"的格式序列化为字符串,并设置时区为GMT+8。
@DateTimeFormat
是Spring框架提供的注解,可以用于控制Spring MVC在接收请求参数时的日期格式。例如:
@RequestMapping("/test")
public String test(@RequestParam("date") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") Date date) {
// ...
}
这个注解表示将请求参数中名为date
的值按照"yyyy-MM-dd HH:mm:ss"的格式转换为Date类型。