使用Jackson的databind查询日期时间数据转json,显示在前端差8个小时

本文详细介绍了在使用Jackson进行JSON转换时,遇到的时间偏差问题及其解决方案。提供了两种方法,一种是在字段级添加@JsonFormat注解指定时区,另一种是全局配置时间格式和时区。

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

               

【问题描述】升级json转换组件的时候,偶然发现时间不对。 查8个小时。


【解决过程】百度, 然后找到2个帖子,原来人家都遇到过了。

方法1: http://blog.youkuaiyun.com/thc1987/article/details/43851939

方法2:http://blog.youkuaiyun.com/zhangkezhi_471885889/article/details/49928663


-------------------------------【方法1】---------------------------------------------------------------------------------------

使用Jackson的@JsonFormat注解时出现少一天

比如数据库存的日期是2015-01-05,转成json则变成了2015-01-04

解决办法:

@JsonFormat(pattern="yyyy-MM-dd")
 public Date getRegistDate() {
  return this.registDate;
 }

改成

@JsonFormat(pattern="yyyy-MM-dd",timezone="GMT+8")
 public Date getRegistDate() {
  return this.registDate;
 }

加上时区即可,中国是东八区


-------------------------------【方法2--全局解决,我还没试】-----------------------------------------------

<mvc:annotation-driven>        <mvc:message-converters>            <bean                class="org.springframework.http.converter.json.MappingJackson2HttpMessageConverter">                <property name="objectMapper">                    <bean class="com.fasterxml.jackson.databind.ObjectMapper">                        <!-- 处理responseBody 里面日期类型 -->                        <property name="dateFormat">                            <bean class="java.text.SimpleDateFormat">                                <constructor-arg type="java.lang.String" value="yyyy-MM-dd HH:mm:ss" />                            </bean>                        </property>                        <!-- 时区指定 -->                        <property name="timeZone" value="GMT+8" />                        <!-- 为null字段时不显示 -->                        <property name="serializationInclusion">                            <value type="com.fasterxml.jackson.annotation.JsonInclude.Include">NON_NULL</value>                        </property>                    </bean>                </property>            </bean>        </mvc:message-converters>    </mvc:annotation-driven>


           

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.youkuaiyun.com/jiangjunshow

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值