我已将 Spring Boot 应用程序配置为将日期序列化为 ISO8601 字符串:
spring:
jackson:
serialization:
write-dates-as-timestamps: false
这就是我得到的:
"someDate": "2017-09-11T07:53:27.000+0000"
但是我的时区是欧洲/马德里。事实上,如果我打印 TimeZone.getDefault()
这就是我得到的。
如何让 Jackson 使用实际时区序列化这些日期时间值?格林威治标准时间+2
"someDate": "2017-09-11T09:53:27.000+0200"
最佳答案
解决了注册 Jackson2ObjectMapperBuilderCustomizer bean:
@Bean
public Jackson2ObjectMapperBuilderCustomizer jacksonObjectMapperCustomization() {
return jacksonObjectMapperBuilder ->
jacksonObjectMapperBuilder.timeZone(TimeZone.getDefault());
}
https://stackoverflow.com/questions/46151633/