因此,我有一个猫鼬模式,其中一些属性类型设置为日期。但是,当我将一些值保存到数据库中时,出现了一个问题,日期似乎落后了一天(和错误的时区),或者完全错误。下面是架构的一部分
dob: {
type: Date,
required: [
true,
"Date of birth is required"
]
}所以,当我保存一个日期,比如:12-6月-1993年,我得到的是: 1993-06-11T22:00:00.000Z
日期已经晚了一天,我真的不知道是什么导致了这一切。使用NodeJS 10,猫鼬5.0.17
发布于 2018-05-05 20:08:42
那完全没问题。当您将日期存储为‘12-6-1993’时,您没有提供时区,也没有提供ISO格式的时区,因此它将其作为地区日期时间戳,这意味着它将作为您(您的服务器)时区日期。但它以ISO日期时间戳(GMT/UTC)的形式存储,并因此而标准化。
现在,在读取日期时间时,如果您将日期打印为区域设置字符串,您将看到时间为‘12-6-6-1993’。
让日期=新日期(‘1993-06-11T22:00:00.000Z’); date.toLocaleString() // 6/12/1993,凌晨3:00
https://stackoverflow.com/questions/50193490
复制相似问题