MongoDB存储正确的日期但未在视图上正确显示(EJS)

时间:2017-05-21 22:34:36

标签: javascript mongodb momentjs ejs

我有一个用户输入日期的表单 这存储在Mongo数据库中,控制台日志显示日期正确(在ISODate(“2017-05-21T00:00:00Z”)),但是,当在EJS中将此日期作为参数传递时,显示的日期是不同。

这是存储在mongoDB中的数据:“开始”:ISODate("2017-05-21T00:00:00Z")

这是EJS文件中显示的数据:'2017-05-20'

我使用以下方式格式化日期:

moment(data.Begin).format('YYYY-MM-DD')

不使用时刻,EJS上显示的日期为:

"Sat May 20 2017 19:00:00 GMT-0500 (Central Daylight Time (Mexico))"

反正这是错误的。

1 个答案:

答案 0 :(得分:1)

MongoDB以UTC格式存储日期。标准日期格式和momentjs的默认值是“本地时间”。

如果您想保留UTC,请使用.utc()

来提出
moment(data.Begin).utc().format('YYYY-MM-DD')');