一尘不染

杰克逊@JsonFormat设置日期少一天

json

我在项目中使用过Spring DateRest和SpringBoot。这个项目有一个对象,我使用了@JsonFormat注释来格式化将从我的Json接收的日期字段。日期字段的格式为“ dd / MM /
yyyy”。当我发送json值“ 08/07/1980”时,杰克逊将转换为值“ 07/07/1980”。

问题是@JsonFormat将日期设置为少一天

这是我的源代码

@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "pt-BR", timezone = "UTC")
private Date birthDate;

谢谢


阅读 421

收藏
2020-07-27

共1个答案

一尘不染

感谢@Benjamin Lucidarme。

我使用以下方法解决了问题:

@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "pt-BR", timezone = "Brazil/East")
private Date birthDate;

我将时区更改为“巴西/东部”或“美国/ Sao_Paulo”,并且现在可以工作

谢谢

2020-07-27