【发布时间】:2018-05-13 05:27:27
【问题描述】:
我写了一个类似这样的类
@Entity
class Employee {
@Column
private String name;
@Column
private Date joinedDate;
}
现在,我通过new Date() 为joinedDate 赋值。当我打印这个日期时,java 会添加时区更正。但是 Java 将在内部存储自纪元以来没有时区的时间。假设本地日期是Wed Nov 29 18:43:43 IST 2017
当我将此对象存储到数据库中时,我希望存储的是 GMT/UTC 零时区的时间。 (或者至少,存储自纪元以来的毫秒数)。但是存储的值是Nov 29 18:43:43。
这是错误的值。因为它不存储 UTC 时间,也不存储时区。我希望在我的应用程序中,数据库日期应该存储在 UTC 时区中。
我想在读写时存储 UTC 值,而不是应用程序运行的时区。我的应用程序可能在不同的时区运行,但使用相同的数据库。
我怎样才能做到这一点?
【问题讨论】:
标签: java mysql datetime jpa spring-boot