jackson 格式化注解:@JsonFormat格式化日期时间 作者:马育民 • 2021-09-22 08:44 • 阅读:10143 # 案例-controller返回json时格式化 mybatis 从数据库查询 `datetime` 等时间类型,controller返回json,需要做时间格式化,否则显示有问题 ### 解决 建一个DTO,在实体类 **时间字段** 上加上注解 `@JsonFormat` 如下: ``` @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; ``` 在转换 controller 返回json时,会自动格式化 ### 指定时区 可以指定时区: ``` @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") ``` # 案例-controller接收自定义时间类型数据 前端提交 JSON 格式字符串中,有datetime类型,但不是标准格式 ``` yyyy-MM-dd HH:mm:ss ``` 而是自定义格式,如: ``` yyyy/MM/dd HH:mm ``` 导致controller报错 400,不能传入 `Date` 类型成员变量中 ### 解决 建一个 VO,在 **时间字段** 上加上注解 `@JsonFormat` 如下: ``` @JsonFormat(pattern = "yyyy/MM/dd HH:mm") private Date dateTime; ``` controller: ``` @PostMapping("/test") public JsonResult add( @RequestBody VO vo) ``` ### 指定时区 可以指定时区: ``` @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") ``` 原文出处:http://malaoshi.top/show_1IX1uHVxJaZ9.html