我有一个用户输入日期的表单 这存储在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))"
反正这是错误的。
答案 0 :(得分:1)
MongoDB以UTC格式存储日期。标准日期格式和momentjs的默认值是“本地时间”。
如果您想保留UTC,请使用.utc()
moment(data.Begin).utc().format('YYYY-MM-DD')');