@DateTimeFormat和@JsonFormat使用

  • Post author:
  • Post category:其他




一:添加依赖:

    <!--@JsonFormat所需依赖 -->
    <dependency>
            <groupId>com.fasterxml.jackson.core</groupId>
            <artifactId>jackson-annotations</artifactId>
            <jackson.version>2.11.3</jackson.version>
    </dependency>
import org.springframework.format.annotation.DateTimeFormat;//springBoot自带的
import com.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")
    private Date 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") 
    private Date signingDateTime;



二、 @DateTimeFormat

(将表单格式的日期转换成Date类型)

在这里插入图片描述



注意

此方式只针对于请求参数的格式非json格式的,如果是json的则不会生效,需要使@JsonFormat

对于标准格式会自动转换(标准格式yyyy-MM-dd HH:mm:ss)



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

(用于请求体为json格式的请求)

在这里插入图片描述



说明



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

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



注意:

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



两者区别

@DateTimeFormat


用于请求体非json格式的请求


@JsonFormat


用于请求体为json格式的请求



将包含此注解的对象返回给前端时,也会沿用此注解的格式 (返回类型为json格式时)



版权声明:本文为weixin_43811057原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。