【发布时间】:2018-05-04 23:03:27
【问题描述】:
我有一个通过 JDBC 在 Postgres 数据库中插入的移动应用程序。在数据库表中,我有一个时间戳列,我需要插入服务器的真实时间戳,以确保没有人插入假日期/时间。它会是这样的:
INSERT INTO some_table VALUES(...,now());
这段代码看起来是对的,但如果移动设备有不同的时区,这种差异会反映在 now() 函数中。示例:
服务器日期/时间:00:00:00 -04
手机日期/时间:00:12:34 +00
上面插入的结果:04:00:00
我已经尝试了其他一些方法,例如:
INSERT INTO some_table VALUES(...,now()::timestamp)
INSERT INTO some_table VALUES(...,current_timestamp)
【问题讨论】:
-
这似乎是驱动程序中的一个错误,它将时区始终设置为客户端的时区。
标签: sql postgresql jdbc timestamp