Mongoose 更新条件 PDT 日期/型号 ISO 日期

Posted

技术标签:

【中文标题】Mongoose 更新条件 PDT 日期/型号 ISO 日期【英文标题】:Mongoose Update Condition PDT Date/ Model ISO Date 【发布时间】: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。

【问题讨论】:

【参考方案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"))

【讨论】:

以上是关于Mongoose 更新条件 PDT 日期/型号 ISO 日期的主要内容,如果未能解决你的问题,请参考以下文章

Mongoose:如何更新符合条件的*所有*人? [复制]

Mongoose:如何更新符合条件的*所有*人? [复制]

PDT 到 UTC 转换的日期时间对象格式

在python中将日期时间从PDT转换为UTC

Mongoose - 更新时如何验证模型?

是否有根据日期转换为 PST 或 PDT 的 SQL 函数?