org.springframework.format.annotation.DateTimeFormat 注解不生效的问题

一、问题场景

在实体当中有java.util.Date类型的属性时,为了约定前端传值的格式和返回值给前端的格式,我们通常会分别用到@DateTimeFormat注解和@JsonFormat注解。

但是今天使用的时候,却出现了@DateTimeFormat不生效的问题,不能将接收到的时间格式字符串转成Date对象。

@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")

二、问题复现与测试

 post请求,form-data的传参方式,但是在时间字段上却抛出属性值转换错误的异常。

然后经过测试,将时间字段值放在请求参数中,可以请求成功:

虽然这样是可以请求成功,但是却不能放在form-data里面,那表单提交还单独提交时间不成,属实是有点阴间的。

三、问题解决

也曾想过是格式的问题,或者springboot版本的问题,尝试过传值的格式,比如这样

2022-05-13T15:17:30

或者是不是JsonFormat注解的时区影响之类。

一番尝试还是未能成功。

最终偶然看到时间格式的设置,将里面的hh换成了HH:

原来的:
@DateTimeFormat(pattern = "yyyy-MM-dd hh:mm:ss")
现在的:
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")

竟然成功了。 

也没想到和这个格式设置有关。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值