@JsonFormat和@DateTimeFormat

发布时间 2023-10-10 09:56:46作者: BlogMemory

@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类型。