springboot项目报错Cannot deserialize value of type `java.sql.Timestamp` from String “2023-11-13 15:39:21

文章讲述了在Java开发中遇到日期格式不正确的问题,介绍了如何使用@DateTimeFormat和@JsonFormat注解来处理前后端时间格式的一致性问题,包括指定pattern和timezone以确保正确转换。
摘要由CSDN通过智能技术生成

在这里插入图片描述

查看这个报错好像是在说日期格式不正确,将这个错误百度一下就是日期转换异常:
参考:解决日期转换异常

解决方式:
就是在实体类的数据格式的属性加上两个注解就OK了:

	@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
    private Timestamp actiontime;

在这里插入图片描述
数据请求成功!!

关于@JsonFormat和@DateTimeFormat

从数据库获取时间传到前端进行展示的时候,我们有时候可能无法得到一个满意的时间格式的时间日期,在数据库中显示的是正确的时间格式,获取出来却变成了很丑的时间戳,@JsonFormat注解很好的解决了这个问题,我们通过使用@JsonFormat可以很好的解决:后台到前台时间格式保持一致的问题,其次,另一个问题是,我们在使用WEB服务的时,可能会需要用到,传入时间给后台,比如注册新用户需要填入出生日期等,这个时候前台传递给后台的时间格式同样是不一致的,而我们的与之对应的便有了另一个注解,@DataTimeFormat便很好的解决了这个问题,接下来记录一下具体的@JsonFormat与DateTimeFormat的使用过程。

@JsonFormat(locale=“zh”, timezone=“GMT+8”, pattern=“yyyy-MM-dd”)

pattern:是你需要转换的时间日期的格式 
timezone:是时间设置为东八区,避免时间在转换中有误差

简单来说就是:

注解@JsonFormat主要是后台到前台的时间格式的转换
注解@DataFormat主要是前台到后台的时间格式的转换

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

每周都想吃火锅

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值