从春季启动升级后1.2.6.RELEASE - > 1.3.1.RELEASE使用带有时区偏移的iso 8101 dateformat时似乎存在问题。 在我的application.yml中,jackson日期格式设置为使用时区偏移格式
spring:
jackson:
date-format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
使用boot 1.2.6,这会产生具有正确iso 8601时区格式的日期时间格式,如2014-01-01T23:01:01.010 + 01:00
但是使用启动1.3.1,格式保存在祖鲁时区 2014-01-01T22:01:01.010Z
答案 0 :(得分:1)
默认情况下,杰克逊使用GMT时区。您可以通过添加到配置文件来更改它:
spring:
jackson:
time-zone: Europe/Berlin
或使用
更改某些属性 public class DateStuff {
@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd,HH:00", timezone="CET")
public Date creationTime;
}
答案 1 :(得分:1)
感谢@dimuha我明白了。您还必须添加时区属性,以使其具有与升级前相同的行为
spring:
jackson:
date-format: yyyy-MM-dd'T'HH:mm:ss.SSSXXX
time-zone: Europe/Berlin
这将输出2014-01-01T23:01:01.010 + 01:00 iso 8601个日期。