我在项目中使用过Spring Date Rest和Spring Boot。
这个项目有一个对象,我使用了@JsonFormat注释来格式化将从我的Json接收的日期字段。
日期字段的格式为“dd / MM / yyyy”。
当我发送json值“08/07/1980”时, jackson 将转换为值“07/07/1980”。
问题是@JsonFormat将日期设置的日期少了
这是我的源代码
@Temporal(TemporalType.DATE)
@JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "dd/MM/yyyy", locale = "pt-BR", timezone = "UTC")
private Date birthDate;
谢谢
最佳答案
使用此解决方案,比我的解决方案更有效,更现代:https://stackoverflow.com/a/45456037/4886918
谢谢@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”,并且现在可以工作
谢谢