Quarkus JsonB 更改为不同的时区

Quarkus JsonB change to different timezone

quarkus jsonb 正在 UTC 中反序列化 json。如何配置不同的时区?

public class AtendimentoDTO {
    public Integer id;

    @JsonbDateFormat("dd/MM/yyyy HH:mm:ss")
    private Date dataAtualizacao;
}

UTC 输出:

"dataAtualizacao": "23/05/2020 21:55:57"

maven 依赖:

<dependency>
    <groupId>io.quarkus</groupId>
    <artifactId>quarkus-resteasy-jsonb</artifactId>
</dependency>

您可以使用 LocalDateTime 而不是 Date。 LocalDateTime 将采用默认的系统时区,而 Date 将默认使用 UTC 时区。

试试这个日期格式:

@JsonbDateFormat("dd/MM/yyyy HH:mm:ss Z")

据我所知,LocalDateTime 不支持时区。您需要使用 ZonedDateTime,但我不确定这是否适用于 JsonB,否则您需要为其编写序列化程序和反序列化程序。

我可以通过将提供商更改为 jackson 并使用:

来修复它
@JsonFormat(shape = JsonFormat.Shape.STRING, 
  pattern = "dd/MM/yyyy HH:mm:ss", timezone = "GMT-3")