gpt4 book ai didi

java - 由于 GMT 差异,@JsonFormat Jackson 注释错误地输出日期

转载 作者:太空宇宙 更新时间:2023-11-04 09:06:18 25 4
gpt4 key购买 nike

我有 DTO,我正在输出到 Jackson,其中字段定义为

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy")
Date reportingDate;

该字段在 Postgres DB 中存储为 Timestamp Without Timezone,例如

2019-04-01 22:04:40.353

此字段的 JSON 错误地输出到 2019-04-02。我验证了问题的发生是由于 Jackson 将与 GMT 的时区差异的值添加了 +5。这是不正确的,我应该只获得从数据库返回的确切日期值。我的 Jackson 配置不正确吗?

最佳答案

我通过添加 timezone 属性解决了这个问题,如下所示。

@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "MM/dd/yyyy", timezone = "America/New_York")
Date reportingDate;

现在它不会添加 +5 来使其成为 GMT。

关于java - 由于 GMT 差异,@JsonFormat Jackson 注释错误地输出日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60175038/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com