为什么 @JsonFormat 的 YYYY-MM-dd 模式将 2023-12-31 23:59:59.907 序列化为 2024-12-31,而不是使用 fastxml 的 2023-12-31?

问题描述 投票:0回答:1

数据库中有一个字段带有日期值

2023-12-31 23:59:59.907

我们将其序列化为 JSON

/**
     * Tariff end
     */
    @JsonFormat(pattern = "YYYY-MM-dd")
    @ApiModelProperty(notes = "tariff end date")
    private Date endDate;

为什么用fasterxml序列化到2024-12-31而不是2023-12-31?如何解决这个错误?

java json serialization fasterxml
1个回答
0
投票

日期字段序列化的问题可能是由于在 @JsonFormat 注释中使用了错误的格式模式造成的。您应该使用“yyyy-MM-dd”(使用日历年表示年份),而不是使用“YYYY-MM-dd”(它表示使用基于周的年份)。

要修复该错误,请将 @JsonFormat 注释中的模式更改为“yyyy-MM-dd”,如下所示:

@JsonFormat(pattern = "yyyy-MM-dd")
@ApiModelProperty(notes = "tariff end date")
private Date endDate;
© www.soinside.com 2019 - 2024. All rights reserved.