如何在PostgreSQL中保存JSDate.now()?

hgc7kmma  于 2023-01-30  发布在  PostgreSQL
关注(0)|答案(4)|浏览(142)

我尝试使用PostgreSQL timestamp数据类型,但它抛出错误

ERROR:  date/time field value out of range: "1489849402536"

该模式

create table times (
  time   timestamp    not null,
);

JS代码

`insert into times(time) values (${Date.now()})`

另一个选择是使用bigint,但这似乎是一个矫枉过正。

kgsdhlau

kgsdhlau1#

使用to_timestamp() postgres function

`insert into times (time) values (to_timestamp(${Date.now()} / 1000.0))`
u0sqgete

u0sqgete2#

或者您可以执行类似以下操作:

const time = new Date().toISOString();

在查询生成器中:

...
.update()
.set({column_name: time})
7z5jn7bk

7z5jn7bk3#

如果您使用Sequelize,则可以用途:sequelize.literal('CURRENT_TIMESTAMP')。示例:

await PurchaseModel.update( {purchase_date : sequelize.literal('CURRENT_TIMESTAMP') }, { where: {id: purchaseId} } );
3okqufwl

3okqufwl4#

那些不介意2KB的人可以使用不可变的日期时间库dayjsformat method

dayjs().format() 
// current date in ISO8601, without fraction seconds e.g. '2020-04-02T08:02:17-05:00'

相关问题