【问题描述】升级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