Node-postgresdate不准确保存
我正在使用Node.js,Postgres和node-postgres库。 当我尝试用这样的代码插入一个新的logging与当前date:
client.query('INSERT INTO ideas(date) VALUES($1)', [new Date()], ...);
这运行正常,没有错误。 但是,当我对数据库运行select语句并logging结果时,给出的date显示为:
Wed Nov 20 2013 19:00:00 GMT-0500 (EST)
除了当插入logging的时候,这是好的,11月21日是星期四。时间是5:47,而不是7:00。
我再次运行代码,不pipe时间如何,即使下一个小时已经开始,它也会保存相同的不准确的date。 这使我相信,出于某种原因,它只存储date而不是时间或分钟。 另外,date只有一天的事实表明这个问题可能与node-postgres处理date的方式有关。
我知道这不是一个计算当前date时,将它传递到查询中的问题,因为我loggingnew Date()
,它是准确的date,分钟,小时和秒。
任何有关这个问题的帮助将不胜感激。 谢谢!
这个问题(感谢Craig指出了这一点)是我为我的Postgres列使用date
types,它只loggingdate,而不是时间。 一旦我切换到timestamptz
types的一切工作完美!