SpringBoot与Jackson的时区问题

发布时间 2023-10-17 11:38:19作者: zhaoLei_Free

问题描述

  新建一个SpringBoot接口,该接口接受的参数是一个Date类型。在接口中进行断点调试,发现后端接口到的时候要比前端传过来的时间多出了8个小时。

 问题原因

  jackson的时间序列化JsonFormat对象中,默认的时区为UTC。在序列化时间的时候,jackson会获取JVM的时区参数,而JVM时区参数是系统时区,也就是东八区。而要将 UTC 时区的时间转成 GMT+8 时区的时间,就会将你传进来的时间+8个小时。