@DateTimeFormat和@JsonFormat使用

2022年12月3日09:29:14

一:添加依赖:

<!--@JsonFormat所需依赖 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-annotations</artifactId><jackson.version>2.11.3</jackson.version></dependency>
importorg.springframework.format.annotation.DateTimeFormat;//springBoot自带的importcom.fasterxml.jackson.annotation.JsonFormat;@ApiModelProperty(value="审核时间")@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")@JsonFormat(timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")privateDate auditDateTime;@ApiModelProperty(value="签署时间")[添加链接描述](https://www.cnblogs.com/cangqinglang/p/10083661.html)@DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")@JsonFormat(timezone="GMT+8", pattern="yyyy-MM-dd HH:mm:ss")privateDate signingDateTime;

二、 @DateTimeFormat

(将表单格式的日期转换成Date类型)
@DateTimeFormat和@JsonFormat使用

注意

此方式只针对于请求参数的格式非json格式的,如果是json的则不会生效,需要使@JsonFormat
对于标准格式会自动转换(标准格式yyyy-MM-dd HH:mm:ss)

三、@JsonFormat(timezone = “GMT+8”, pattern = “yyyy-MM-dd HH:mm:ss”)

(用于请求体为json格式的请求)
@DateTimeFormat和@JsonFormat使用

说明

将json中字符串类型的日期转换成Date类型

{"auditDateTime":"2021-09-12 19:17:50","signingDateTime":"2021-09-12 19:17:50"}

注意:

1、此方式只针对于请求参数的格式为json格式的,其他请求体类型则无效2、需要设置时区为GMT+8,如果不设置,可能会出现时间不准确问题,
   GMT 就是格林威治标准时间的英文缩写(GreenwichMeanTime 格林尼治标准时间),
   是世界标准时间.gmt-8 是格林威治时间+8小时,是北京时间.3、如果将此对象返回为json格式的,则注解也会生效

两者区别

@DateTimeFormat
用于请求体非json格式的请求
@JsonFormat
用于请求体为json格式的请求
将包含此注解的对象返回给前端时,也会沿用此注解的格式 (返回类型为json格式时)

  • 作者:伏加特遇上西柚
  • 原文链接:https://blog.csdn.net/weixin_43811057/article/details/120667385
    更新时间:2022年12月3日09:29:14 ,共 1269 字。