【问题标题】:Saving timestamps in Postgres based on Java dates基于 Java 日期在 Postgres 中保存时间戳
【发布时间】:2013-08-10 12:45:25
【问题描述】:

我有一个 Postgres 数据库,其中包含一个包含时间戳 (timeOfProcessing TIMESTAMP) 的表。

我有一个 Java 日期时间值 (java.util.Date dateTime),并希望将其值存储在该时间戳字段中(无时区)。

当我使用查询时

"INSERT INTO mytable(..., timeOfCreation, ...) VALUES(..., to_timestamp(" + Long.toString(dateTime.getTime()) + "),...)"

然后读取保存的值(SELECT timeOfCreation FROM mytable),它们是不同的(resultSet.getTimestamp(...).getTime()不等于dateTime.getTime())。

我需要如何更改插入语句才能正确存储日期时间?

【问题讨论】:

    标签: java postgresql postgresql-9.1


    【解决方案1】:

    插入时,不要使用(dateTime).getTime(),而是使用SQL 时间戳对象:new java.sql.Timestamp((dateTime).getTime())

    【讨论】:

    • @Sarief 根本不使用 ORM。拥抱 SQL 并远离 ORM 怪物。
    猜你喜欢
    • 2016-06-04
    • 2011-09-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-01-14
    • 1970-01-01
    相关资源
    最近更新 更多