根据Java日期在Postgres中保存时间戳

时间:2013-08-08 17:24:06

标签: java postgresql postgresql-9.1

我有一个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())。

如何更改insert语句以便正确存储日期时间?

1 个答案:

答案 0 :(得分:20)

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