我有一个表单,用户可以使用以下命令输入日期 它存储在 Mongo DB 中,控制台日志显示日期是正确的(在 ISODate("2017-05-21T00:00:00Z") 中),但是,当将此日期作为 EJS 中的参数传递时,显示的日期是不同。
这是存储在 mongoDB 中的数据: "Begin": ISODate("2017-05-21T00:00:00Z")
这是 EJS 文件中显示的数据:'2017-05-20'
我使用以下方法格式化日期:
moment(data.Begin).format('YYYY-MM-DD')
不使用moment,EJS上显示的日期是:
"Sat May 20 2017 19:00:00 GMT-0500 (Central Daylight Time (Mexico))"
无论如何,这是错误的。
最佳答案
MongoDB 以 UTC 格式存储日期。标准日期格式,momentjs 的默认值是“本地时间”。
如果你想保留 UTC,那么你可以使用 .utc()
moment(data.Begin).utc().format('YYYY-MM-DD')');
关于javascript - MongoDB 存储正确的日期但在 View (EJS)上未正确显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44102458/