由于spring默认使用的是jackson进行序列化,而jackson在转换时间时会按时区去转化,jackson的时区是GMT(即世界时)所以就和CST时区就少于8小时
解决方案:
1.在实例类直接添加注解
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss", timezone="GMT+8") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
2.在spring boot的配置文件添加配置
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
以上两种方法还都需要在数据库的url指定serverTimezone=Asia/Shanghai保证读取的时间正确