class User { @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") private Date createTime; }
假如时间是2016-03-03 00:00:00,输出的时间是2016-03-02 16:00:00
2016-03-03 00:00:00设置时为GMT+8时间(即中国所在时区的时间),换算成GMT(格林威治标准时间)即为2016-03-02 16:00:00。
使用@JsonFormat,如果没有设置时区timeZone值,默认情况下timeZone为GMT,所以看到输出少了8小时。为了争取显示中国时区的时间,如下:
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timeZone="GMT+8")