sequelize:如何比较日期

时间:2014-11-26 14:10:06

标签: javascript postgresql sequelize.js

我正在使用oauth_refresh_token表,如下所示:

var OAuthRefreshToken = myDb.define("oauth_refresh_token", {
    refresh_token: {type: sequelize.STRING, primaryKey: true} 
    client_id:    {type: sequelize.STRING}                      
});

Sequelize会自动创建列" created_at"和" updated_at"对我来说,数据类型为:"带时区的时间戳"。

现在,当我想询问如何比较两个日期时。如果它是在过去24小时创建的,我想获得这种类型的Object。 到目前为止我有这样的事情:

var currentTimeMinus24Hours = new Date()-24*60*60*1000;
return OAuthRefreshToken.find(
    where: {
        refresh_token: token
        updated_at: { gt: currentTimeMinus24Hours }
    }
)

如果我执行此代码,我会得到一个运算符不存在的异常:带时区的时间戳> BIGINT。有道理,但任何想法我怎么能使它工作。如果它对你有帮助。我正在使用postgres数据库。

1 个答案:

答案 0 :(得分:4)

我使用了momentjs库

http://momentjs.com/

调用moment().format()将以timestamptz格式为您提供日期时间。

你应该使用片刻的原因也很多,因为它是一个可靠的库,可以解决与操作时间相关的许多问题。

但我有兴趣看看是否还有其他香草解决方案。