【问题标题】:Convert String to Date in MongoDB在 MongoDB 中将字符串转换为日期
【发布时间】:2013-12-26 03:14:20
【问题描述】:

如何在 MongoDB 中将“11/21/2012”之类的字符串转换为日期?

我尝试了以下

obj.as_from = ISODate("11/21/2012");

得到了这个错误

未捕获的异常:无效的 ISO 日期

上面的字符串有简单的转换方法吗?

【问题讨论】:

  • 你只是在使用 mongo shell 吗?如果是这样,您可以使用常规 Date() 构造函数,它将返回一个 ISODate
  • 当我使用 Date("11/21/2012") 我得到当前日期...
  • 使用new 运算符。看我的回答。

标签: javascript mongodb date


【解决方案1】:

正如 user602525 所指出的,在 Mongo shell 中。

obj.as_from = new Date("11/21/2012");

不要忘记使用new 运算符。

【讨论】:

  • 好吧,这行得通,知道如何处理像“11/2012”这样的字符串吗?一个只显示月份和年份的。当我尝试它默认为 1970 时。
  • 在这种情况下,我将手动解析日期字符串并使用 Date 构造函数:new Date(2012, 10)。 JavaScript 中的月份从零开始。
  • 再次感谢。我注意到日期默认为“01”。有没有办法让它默认为“00”来代表什么?
  • 日期代表某个给定的固定时间点。如果没有天数,它就不是日期,你最好坚持使用字符串。
  • @Calimero 这就是我的想法。我实际上在文档中有两个日期。一种具有较短的月/年格式,另一种则更详细。我只是将详细格式和短格式转换为字符串。
【解决方案2】:

你尝试这样做:

ISODate("11-21-2012T05:00:00.000Z")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-06-12
    • 2021-09-29
    • 2020-02-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-24
    • 2016-06-12
    相关资源
    最近更新 更多