【问题标题】:Wrong time and date when I use new Date() mongoose and nodejs 10我使用 new Date() mongoose 和 nodejs 10 时的时间和日期错误
【发布时间】:2018-05-05 19:54:09
【问题描述】:

所以我有一个猫鼬模式,其中一些属性类型设置为日期。但是当我将一些值保存到数据库时出现问题,日期似乎晚了一天(并且时区错误),或者完全错误。以下是架构的一部分

dob: {
    type: Date,
    required: [
        true,
        "Date of birth is required"
    ]
}

所以,当我保存一个日期时:1993 年 6 月 12 日,我得到这个:1993-06-11T22:00:00.000Z

日期晚了一天,我真的不知道是什么原因造成的。 使用 NodeJS 10、Mongoose 5.0.17

【问题讨论】:

    标签: node.js mongodb mongoose-schema


    【解决方案1】:

    这很好。当您将日期存储为“1993 年 6 月 12 日”时,您没有提供时区或其不是 ISO 格式,因此它将其作为区域设置日期时间戳,这意味着它作为您的(您的服务器)时区日期。但它存储为 ISO 日期时间戳 (GMT/UTC),因此它是标准化的。

    现在读取日期时间时,如果您将日期打印为区域设置字符串,您将看到时间为 '12-June-1993'。

    let date = new Date('1993-06-11T22:00:00.000Z');

    date.toLocaleString() // 1993 年 6 月 12 日,凌晨 3:00:00

    【讨论】:

      猜你喜欢
      • 2019-05-23
      • 1970-01-01
      • 2021-07-27
      • 2021-07-13
      • 2014-01-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多