首页 > 文章列表 > springboot配置date字段返回时间戳的问题怎么解决

springboot配置date字段返回时间戳的问题怎么解决

Date springboot
276 2023-05-16

springboot配置date字段返回时间戳的问题怎么解决

遇到一个问题,springboot升级成2.0后,从数据库查出来的日期,用Date接收,最后直接返回给前端,在谷歌浏览器中能正常显示成yyyy-MM-dd HH:mm:ss格式。但是在IE浏览器中日期显示的是“乱码”,因为springboot1.x版本的默认将Date字段返回的是时间戳 ,而谷歌、IE都会自动将时间戳转换成yyyy-MM-dd HH:mm:ss;在springboot2.0后,spring会将Date字段自动给转成UTC字符串了(在没有配置的情况下),所以date需要转换成时间戳还是yyyy-MM-dd HH:mm:ss,需要在spring增加如下配置,我选的是返回时间戳配置,成功解决了问题。

配置返回时间戳

spring

jackson:

serialization:

write-dates-as-timestamps:true

全局配置返回字符串

spring:

    jackson:

        date-format: yyyy-MM-dd HH:mm:ss

        time-zone: GMT+8

有了第二个配置,就不需要在每个实体类的日期属性上加@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8")这个注解了

# 指定执行环境

spring:

  profiles:

    # active: @env@

    active: dev

  jackson:

    serialization:

      WRITE_DATES_AS_TIMESTAMPS: true