【发布时间】:2021-05-24 17:32:40
【问题描述】:
我正在使用 Java 和 JDBC 连接到 PostgreSQL 数据库。我在节省数据库时间时遇到问题。我的数据库有表学生,列看起来像
Id,Name,Created_at(timestamp)
//some row here
我使用 JDBC 连接到 PostgreSQL 并保存我的数据
jdbc:postgresql://localhost:3306/someDatabase?useSSL=false&serverTimezone=UTC
当我插入数据时,我的数据看起来像
Student student = new Student()
student.name = "some name";
student.createdAt = LocalDateTime.now()
//一些逻辑保存
但是,当我插入数据库时,PostgreSQL 会保存与我的服务器相同的时间。我想如果我的时间服务器是“2021-10-10 00:00:00”,当我保存到数据库时,它必须保存到数据库中 “2021-10-09 15:00:00”。我希望它保存时必须转换为日本时区。
当我选择数据库时,PostgreSQL +9 上的时区。如果我更改代码如下:
TimeZone.setDefault(TimeZone.getTimeZone("UTC"))
这对我没有帮助。
【问题讨论】:
标签: java postgresql jdbc timezone