场景描述:
在写一个含有date类型字段返回给前端的接口中,postman测试发现返回的日期都比controller中的日期少了一天,datetime的日期又没有问题,纳闷了很久,查相关网友的案例,发现是springboot问题,解决方法如下,本人已解决:
原因如下:
spring-boot中对于@RestController或者@Controller+@ResponseBody注解的接口方法的返回值默认是Json格式,
所以当对于date类型的数据,在返回浏览器端是会被spring-boot默认的Jackson框架转换,而Jackson框架默认的时区GMT(相对于中国是少了8小时)。
处理方式:
在application.properties添加配置
spring.jackson.time-zone=GMT+8
如果是yml增加:
spring:
jackson:
time-zone: GMT+8
设置jackson的时区为东八区即可!!!
返回给前台的时间即正确