@DateTimeFormat和@JsonFormat使用

这篇博客探讨了在Spring Boot中如何使用@DateTimeFormat和@JsonFormat注解进行日期格式化。@DateTimeFormat主要用于非JSON格式的请求参数转换,而@JsonFormat适用于JSON格式的请求和响应,确保日期在序列化和反序列化时正确转换,并且强调了时区设置的重要性。
摘要由CSDN通过智能技术生成

一:添加依赖:

    <!--@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格式时)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值