我正在使用Node.js,Postgres和node-postgres库。当我尝试使用如下代码插入当前日期的新记录时:
client.query('INSERT INTO ideas(date) VALUES($1)', [new Date()], ...);
这样运行正常,没有错误。但是,当我对数据库运行select语句并记录结果时,我给出的日期显示为:
Wed Nov 20 2013 19:00:00 GMT-0500 (EST)
这很好,除了当我插入记录时,它是11月21日星期四。时间是5:47,而不是7:00,因为输出会显示。
我多次运行代码,无论时间是什么,它都存储了相同的不准确日期,即使下一个小时开始也是如此。这让我相信,由于某种原因,它只存储日期而不是小时或分钟。此外,日期只有一天的事实表明问题可能与node-postgres处理日期的方式有关。
我知道Javascript在将其传递给查询时计算当前日期并不是问题,因为我记录了new Date()
并且它是准确的,日期,分钟,小时和秒。
对此问题的任何帮助将不胜感激。谢谢!