客户端JSON中的 Spring 日期已更改,小时不同

csbfibhn  于 2023-08-04  发布在  Spring
关注(0)|答案(1)|浏览(98)

我有一个具有日期字段的实体:

import java.util.Date;
...

@Basic(optional = false)
@Column(name = "ora_programare")
@Temporal(TemporalType.TIMESTAMP)
private Date oraProgramare;

字符串
在我的rest控制器中,我在处理我的入口点的函数结束之前打印这个字段的值,我可以看到日期字段的值是
2019 -08-01 08:30:00.0
但在《 Postman 》中,我收到了一个不同的日期:
“oraProgramare”:2023-08-01T05:00:00.000+00:00
所有的日期都改变了3小时30分钟,为什么?

UPDATE:我找到了一个解决方案here,如果我用

@JsonFormat(pattern =“yyyy-MM-dd hh:mm:ss”,timezone=“Europe/布加勒斯特”)
那么小时是正确的,但我不明白,我的默认时区是“欧洲/布加勒斯特”,为什么Spring分配错误的时区?我使用以下命令检查了默认时区:

System.out.println("ZoneId.systemDefault() "+ZoneId.systemDefault());


但是注解所有的日期时间字段很复杂,我将尝试将类型从Date改为LocalDateTime

yhxst69z

yhxst69z1#

将字段的类型从Date更改为LocalDateTime解决了这个问题,我不确定Date类型的问题是什么,它似乎默认为错误的默认时区。

相关问题