使用JsonFormat(pattern = “yyyy-MM-dd HH:mm:ss“)出现请求数据的时间存在时区问题

在开发过程中遇到一个问题,即前端传给后端的时间数据存在8小时的时间差。为了解决这个问题,首先尝试在实体类的属性上使用@JsonFormat注解,指定了pattern为yyyy-MM-ddHH:mm:ss并添加timezone为GMT+8。虽然这个方法在本地测试有效,但在开发环境中未奏效。最终,通过在Spring的配置文件中设置Jackson的时间区(time-zone)为GMT+8和日期格式(date-format),实现了在本机和开发环境上一致的效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在本机进行开发的时候,在实体类的属性上使用了如下注解

 @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")

但是发现从前端传过来的数据到了后端存在时间差,相差了8小时,在解决问题的时候,尝试了使用如下方法,在JsonFormat中传入一个参数timezone="GMT+8"

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

发现在本机测试此方法有用,但是在开发环境上测试的时候,此方法就没有用只能使用另外一种方法,在配置文件中添加如下配置,此配置本机和开发进行数据测试,都可用

spring:
  jackson:
    time-zone: GMT+8
    date-format: yyyy-MM-dd HH:mm:ss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值