MongoDB文档中ISODate里的“T00:00:00Z”来源解析
MongoDB中ISODate里“T00:00:00Z”的来源与产生原因
ISODate是MongoDB存储UTC日期时间的标准格式,完全遵循ISO 8601国际规范,其中的“T”“Z”以及00:00:00都有明确由来:
- “T”的作用:作为日期和时间段的分隔符,把前面的年月日(比如
2019-06-23)和后面的时分秒部分清晰分开,是ISO 8601标准里的固定标记。 - “Z”的含义:代表UTC时区(协调世界时,零时区),说明这个时间是基于全球统一的零时区标准存储的,避免不同本地时区带来的时间混乱。
00:00:00的产生:当你插入数据时只指定了年月日,没有提供具体的时分秒信息,MongoDB会自动将时间部分补全为当天的零点(00:00:00),再结合默认的UTC时区,最终就形成了T00:00:00Z这部分内容。
举个实际例子:如果插入文档时写date: new Date("2019-06-23"),MongoDB会自动把这个日期转换为UTC时区的当天零点,也就是你看到的ISODate("2019-06-23T00:00:00Z")。要是插入时指定了具体时分秒或时区,这部分内容就会对应变化,比如插入new Date("2019-06-23T12:30:00+08:00"),MongoDB会转成UTC时间ISODate("2019-06-23T04:30:00Z")。
内容的提问来源于stack exchange,提问作者WassUp
相关产品推荐
相关产品推荐

