关于日期格式转换控制问题

7 篇文章 0 订阅
1 篇文章 0 订阅

今天,项目经理突然说改一下某个接口的时间返回格式,从yyyy-MM-dd 改为 yyyy-MM-dd HH:mm:ss 由于是刚接手的项目,所以改的时候遇到了好多坑。


一开始以为是mybatis的sql 的jdbcType写的不对。改成Timestamp和Date后没有任何波动。


又改了java 的 变量 的数据类型, 试过java.util.Date  java.sql.Date   java.sql.TimeStamp 还是没有任何波动


然后就打算直接改sql,因为是oralce数据库,所以我在 日期的字段加了 to_char() 函数,指定日期格式,心想肯定可以,没想到返回到前端还是 yyyy-MM-dd


这时候, 我觉得不是底层的问题,应该是controller或者bean 的问题。 bean试过改变量类型不行, 我就干脆用Spring的注解@DateTimeFormat指定时间变量的格式,然而还不行。 


那最后,就是controller返回给前端的时候出了问题,然后就看了一下json映射的配置文件,果然在jacksonObjectMapper那个bean里,配置了

<property name="simpleDateFormat" value="yyyy-MM-dd"


完整如下

<bean name="jacksonObjectMapper" class="org.springframework.http.converter.json.Jackson2ObjectMapperFactoryBean">
    <property name="featuresToDisable">
        <array>
            <util:constant static-field="com.fasterxml.jackson.databind.SerializationFeature.WRITE_DATES_AS_TIMESTAMPS"/>
        </array>
    </property>
    <property name="simpleDateFormat" value="yyyy-MM-dd">
    </property>
    <property name="timeZone" ref="gmtTimeZone"/>
</bean>

最后将配置文件修改为yyyy-MM-dd HH:mm:ss  就好了。


后来还发现,用@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss ") 注解可以覆盖上面的配置。


以后改时间格式,最方便还是用@JsonFormat来指定格式

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值