如何将节点 Date() 插入到 postgresql 时间戳列中?

问题描述 投票:0回答:1

我想同时更新几条记录,不知道怎么办。

我已经尝试过 pg-promise 和 moment 以及单独的节点的各种组合:

myTs = Date();
myTs = moment(new Date()).format("YYYY-MM-DD HH:mm:ss"); 

使用 sql:

UPDATE mytable set ts = $1;
UPDATE mytable set ts = $1::timestamp;

错误:

 time zone "gmt-0800" not recognized
node.js postgresql date timestamp momentjs
1个回答
0
投票

最好以没有时区的 UTC 格式将时间戳存储在数据库中。

假设有一张桌子:

create table test_time (utc_time timestamp);

插入当前UTC时间戳:

const res = await db.query({
  text: "insert into test_time (utc_time) values ($1) returning *",
  values: [new Date(new Date().toISOString())],
});

或者您可以根据您的运行时插入当前

Date
时区:

const res = await db.query({
  text: "insert into test (date) values ($1) returning *",
  values: [new Date()],
});
© www.soinside.com 2019 - 2024. All rights reserved.