经过查阅相关资料发现在spring转json的默认实现jackson中会根据时区去转换时间,而jackson的默认时区跟
国内应该是相差8小时,所以再时间换算上相差了8小时

解决方案一,在Model的时间字段上加上注解

@JsonFormat(pattern="yyyy-MM-dd", timezone="GMT+8")
@DateTimeFormat(pattern="yyyy-MM-dd")
private Date startDate; //开始时间


@JsonFormat用于输出的时候解析,并且设置解析时区
@DateTimeFormat用于接收 前端传的时间值自动转换 可以是Date 可以是string 注意 格式要一样 如yyyy-MM-dd HH:mm:ss
个人建议都加上 没毛病

解决方案二,application.properties配置文件增加以下配置

spring.jackson.date-format=yyyy-MM-dd
spring.jackson.time-zone=GMT+8


date-format指定date输出格式为yyyy-MM-dd HH:mm:ss
time-zone指定时区,解决8小时的时间差问题


 

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐