【发布时间】:2021-09-28 17:24:47
【问题描述】:
在我的应用程序中,我有以下 2 列:
start - datetime
end - datetime
对应的java字段:
@JsonProperty
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "start")
private Calendar start;
@JsonProperty
@Temporal(TemporalType.TIMESTAMP)
@Column(name = "end")
private Calendar end;
每当前端调用后端来持久化一个实体时,它总是保存为EST时间。
例如如果时间以12pm 发送,则在数据库中保存为8am.
如何确保保存在数据库中的时间始终在UTC?
我尝试将start 列的类型更改为timestamp,但这并没有解决。
【问题讨论】:
-
Calendar?真的吗?
-
使用
java.time.OffsetDateTime(或者java.time.ZonedDateTime)代替java.util.Calendar。哦,检查 (1) 您的系统和 (2) 数据库的时区。 -
所以我应该同时更改日历>Java 中的ZonedDatetime 和日期时间>mysql 中的时间戳
标签: java mysql datetime timestamp