使用猫鼬在Express中更改日期格式

时间:2018-07-31 12:01:09

标签: node.js mongodb express mongoose

我将日期存储在数据库中,但是每当获取日期时,其格式就会更改

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

这是我的代码

var timee = result.created;

1 个答案:

答案 0 :(得分:1)

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

  

new Date()返回当前日期作为Date对象。 mongo shell使用ISODate帮助程序包装Date对象。 ISODate位于UTC中。

您可以阅读MongoDB规范here

有几种方法可以应用。在保存日期之前将其转换为UTC时区,或者在加载日期后将其转换为语言环境时区。

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

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

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

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