首页 > 解决方案 > 使用猫鼬在快递中更改日期格式

问题描述

我将日期存储在数据库中,但每当我获取时,它的格式就会改变

getting date -      2018-07-31T06:48:01.649Z
stored date in db - 2018-07-31 12:18:01.649

这是我的代码

var timee = result.created;

标签: node.jsmongodbexpressmongoose

解决方案


默认情况下,日期在 MongoDB 中以UTC格式存储,因此您可以看到存储日期和检索日期的时区差异。

new Date() 以 Date 对象的形式返回当前日期。mongo shell 使用 ISODate 助手包装 Date 对象。ISODate 是UTC

您可以在此处阅读 MongoDB 规范。

您可以应用多种方法。在保存之前将日期转换为UTC时区,或者在加载日期后转换为区域设置时区。

new Date(ISODate().toString() + 'UTC')

ISODate("2018-08-01T11:39:39Z")

并使用 javascript 将 T 和 Z 替换为空白。

dateString.replace("T", " ").replace("Z", " ");

推荐阅读