我有这样的POJO:杰克逊@JsonFormat意想不到的时区输出
@JsonIgnoreProperties(ignoreUnknown = true)
public class Scheduling {
@JsonProperty("created_at")
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSSXXX", timezone = "UTC")
public Date creationDate;
}
用java 8和杰克逊2.7.8,我序列化通过:
String s = new ObjectMapper().writeValueAsString(scheduling);
System.out.println(s);
我期望的输出像官方SimpleDateFormat的文档:{"created_at":"2001-07-04T12:08:56.235-07:00"}
,但我得到的是Z时区:{"created_at":"2017-03-31T15:42:44.923Z"}
。我试过X,XX和XXX,每个都显示一个Z时区。然而,yyyy-MM-dd'T'HH:mm:ss.SSSZ
确实会按预期显示+0000时区,不含冒号。我错过了一个选项吗?
我明白你的输出,但是你作为一个输出你真正期待什么? +0000而不是Z? –
我希望看到像'2001-07-04T12:08:56.235 + 00:00' – yenox