【发布时间】:2020-07-28 13:58:04
【问题描述】:
我有带有 PostgreSQL 的 Spring Boot 应用程序。当我保存像 2020-07-28 × 17:30:00 这样的日期时,在 PostgreSQL 中它看起来是 2020-07-28 × 06:30:00。有时差是 12 小时有时是 11。在前端它以正确的方式出现,但是当我在 cvs 中导出它时,错误的日期就出来了。为什么会发生以及如何解决? 这些是我的变量:
@NotNull
@DateTimeFormat(pattern = "dd/mm/yyyy")
private Date startDate;
@DateTimeFormat(pattern = "dd/mm/yyyy")
private Date endDate;
【问题讨论】:
-
你为什么首先使用 java.util.Date?
-
2020-07-28 в 17:30:00不是date值,而是timestamp。在你的 Java 代码中应该是java.time.LocalDateTime(或者更好:java.time.OffsetDateTime) -
你的 JVM 默认时区是什么?你的专栏是什么类型的?问题很可能是 PostgreSQL 标准化为 UTC 或类似的东西。
标签: java spring spring-boot date