我正在使用 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()
了日期、分钟、小时和秒,并且它是准确的。
对此问题的任何帮助将不胜感激。谢谢!