遇到一个问题,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
到此这篇关于springboot 配置date字段返回时间戳的问题的文章就介绍到这了,更多相关springboot 配置返回时间戳内容请搜索自学编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持自学编程网!
- 本文固定链接: https://zxbcw.cn/post/218037/
- 转载请注明:必须在正文中标注并保留原文链接
- QQ群: PHP高手阵营官方总群(344148542)
- QQ群: Yii2.0开发(304864863)