0

当我在下面运行代码时

let m = "5", d = "5", y = "2015"; new Date(`${d}-${m}-${y}`);

firefox developer Edition v 56 返回无效日期,而 Chrome v 61 返回有效且正确的日期。

2015 年 5 月 5 日星期二 00:00:00 GMT+0530 (IST)

FF DE 56 浏览器不支持 es6 模板文字,还是浏览器中日期格式的定义有所不同?

请建议任何链接寻求帮助。

4

1 回答 1

1

这不是由模板文字引起的,这是由非标准日期格式引起的。

在 Firefox Developer's Edition 56 Scratchpad 窗口中:

(new Date(`${d}-${m}-${y}`)).toString()

/*
Invalid Date
*/

(new Date(`${y}-${m}-${d}`)).toString()

/*
Mon May 04 2015 17:00:00 GMT-0700 (Pacific Standard Time)
*/

在这里,使用格式 DD-MM-YYYY 是无效的。但是,使用 YYYY-MM-DD 的标准格式会生成有效日期。

Chrome 似乎允许超出标准的其他格式。不建议使用非标准格式,因为不能保证所有主流浏览器都支持它们。

于 2017-11-02T16:13:12.540 回答