【问题标题】:Mongoose Update Condition PDT Date/ Model ISO DateMongoose 更新条件 PDT 日期/型号 ISO 日期
【发布时间】:2015-07-10 10:30:34
【问题描述】:

嗨,我的 Schmema 有一个带有 ISO 日期的字段:

ISODate("2015-04-30T14:47:46.501Z")

Paypal 在成功付款时返回该格式的日期对象:

Time/Date stamp generated by PayPal, in the following format: HH:MM:SS Mmm DD, YYYY PDT
Length: 28 characters

现在我想更新具有 payers_email_address 和时间戳的数据库条目,该时间戳与 paypals 时间戳的最大差异为 15 分钟。

这些是我认为执行此操作所必需的步骤:

1) 在这一步我不确定。直截了当的方法是将贝宝日期字符串化,然后将其拆分并重新排列。但我想有更好的方法吗?

问题:如何正确地将 PDT 日期转换为 UTC 日期。

2) 创建一个新的 UTC 日期: var dt = new Date('2010-06-09T15:20:00Z');

3) 将日期加 15 分钟: dt.setMinutes (dt.getMinutes() + 15);

4) 两个日期之间的查询 MongoDB/Mongoose querying at a specific date?

整体(不适用于 2015 年 4 月 30 日的日期)

MyModel.find({date: {"$gte": new Date("10:00:46 04 29, 2015").toUTCString(), "$lt": new Date("14:00:46 05 01, 2015").toUTCString()}})

编辑:

我想如果我让查询工作正常,我可以将其与 PDT 一起使用:

new Date("20:15:10 05 10, 1985 PDT").toUTCString()

我发布了我的步骤,因为也许有转换日期的猫鼬功能,我不必做 1-3。

【问题讨论】:

    标签: node.js mongodb


    【解决方案1】:

    这在我的 mongoShell 中有效,如果它在程序中有效,我稍后会报告:

    MyModel.find({date: {"$gte": new Date("10:00:46 04 29, 2015 PDT"), "$lt": new Date("14:00:46 05 01, 2015 PDT")}})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-11-25
      • 2018-01-18
      • 2014-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-03
      • 1970-01-01
      相关资源
      最近更新 更多