我很惊讶地意识到
new Date('2015-02-15')
和new Date('02-15-2015')
返回不同的结果。一个解析为UTC时间,另一个解析为当地时间。时区时区包也是如此。
是否有一种方法可以使用矩或内置日期以标准方式解析这些日期?
答案 0 :(得分:2)
将期望的日期字符串格式传递给moment.js似乎返回相同的本地时区
// Sun Feb 15 2015 00:00:00 GMT-0800
moment('2015-02-15', 'YYYY-MM-DD').toString()
// Sun Feb 15 2015 00:00:00 GMT-0800
moment('02-15-2015', 'MM-DD-YYYY').toString()
例如,您可以使用moment-timezone
包将时间标准化为UTC
// Sun Feb 15 2015 08:00:00 GMT+0000
moment('2015-02-15', 'YYYY-MM-DD').utc().toString()
// Sun Feb 15 2015 08:00:00 GMT+0000
moment('02-15-2015', 'MM-DD-YYYY').utc()toString()