@JsonFormat时区问题
我在配置文件中添加了
#json 时间戳统一转换
jackson:
date-format: yyyy-MM-dd HH:mm:ss
time-zone: GMT+8
对于Java类型为Date类型的确实生效了,但是有些场景需要单纯返回yyyy-MM-dd格式的日期,就需要加@JsonFormat注解,我一开始添加的是@JsonFormat(pattern = "yyyy-MM-dd")
,由于注解优先于配置文件生效,所以确实以年月日返回了,但是时区不对所以导致返回的时间不一致,可能是@JsonFormat默认时区是timeZone为GMT(即标准时区),和北京时间相差8小时,所以需要显式配置
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")
解决