这是我现在的代码:
const Grace = sequelize.define('grace', {
userId: Sequelize.TEXT,
tribeName: Sequelize.TEXT,
server: Sequelize.TEXT,
hours: Sequelize.INTEGER,
date: Sequelize.DATE,
datef: Sequelize.DATE,
});
正如您所见,datef是商店作为日期。 datef是未来的日期。示例:当前时间+ 36h
else if(command ===' showdb'){
var now = Date.now();
const gracep = await Grace.findAll({
where: {
datef: {
$gt: now,
},
},
});
}
我想要做的是让它在db中获取结果,其中datef比当前时间戳更好。
事情是datef存储为:2018-06-07 05:11:04.221 +00:00 现在的var是:1528330290003
因此,我非常确定它不起作用的原因,因为当它不应该输出[]时。
不确定该怎么做。
答案 0 :(得分:0)
当我想将某些内容与当前日期进行比较时,我在Sequelize for WHERE子句中使用了日期比较。
在我的情况下,我将当前时间戳(从Date.now()
)转换为ISO字符串,如下所示:
const now = (new Date()).toISOString();
使用[Op.gte]
或[Op.lte]
运算符与存储日期进行比较时,我没有遇到任何问题。
答案 1 :(得分:0)
date.now()
返回自UTC 1970年1月1日午夜以来的毫秒数。它与new Date().valueOf()
这是您可以做的
where : { datef : { [Op.gt]: new Date() } },