Java 无法使用@JsonFormat从UTC序列化AEST时区中的日期。为什么?

Java 无法使用@JsonFormat从UTC序列化AEST时区中的日期。为什么?,java,jackson,json-deserialization,java-time,timezone-offset,Java,Jackson,Json Deserialization,Java Time,Timezone Offset,下面是在AEST时区序列化日期的代码,但这不起作用 @JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd HH:mm:ss", timezone = "Australia/Sydney") private LocalDateTime lastUpdatedTime; 虽然我可以将其转换为上述日期格式,但不能在TZ中转换 我试图转换的UTC日期是“2019-09-23T23:39:45.917Z” 如何解决此问题?

下面是在AEST时区序列化日期的代码,但这不起作用

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd 
HH:mm:ss", timezone = "Australia/Sydney")
private LocalDateTime lastUpdatedTime;
虽然我可以将其转换为上述日期格式,但不能在TZ中转换

我试图转换的UTC日期是“2019-09-23T23:39:45.917Z”

如何解决此问题?

pattern=“yyyy-MM-dd HH:MM:ss”替换为
pattern=“yyy-MM-dd'T'HH:MM:ss.SSSZ”

例如:

@JsonFormat(shape=JsonFormat.Shape.STRING, pattern="yyyy-MM-dd'T'HH:mm:ss.SSSZ", timezone="Australia/Sydney")
private ZonedDateTime lastUpdatedTime;

这可能对你有帮助。

嘿!谢谢使用Date而不是LocalDateTime对我来说很有效。这是朝着错误的方向迈出的一步,@prernasah。
Date
类设计拙劣,过时已久
LocalDateTime
来自java.time,这是现代java日期和时间API。您可能会更幸运地使用
ZoneDateTime
Instant
,但不必返回
日期。很高兴听到@prernasha。你可以把它贴出来作为你自己问题的答案。你在用吗?你应该考虑做什么?