当我在下面运行代码时
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 模板文字,还是浏览器中日期格式的定义有所不同?
请建议任何链接寻求帮助。
当我在下面运行代码时
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 模板文字,还是浏览器中日期格式的定义有所不同?
请建议任何链接寻求帮助。
这不是由模板文字引起的,这是由非标准日期格式引起的。
在 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 似乎允许超出标准的其他格式。不建议使用非标准格式,因为不能保证所有主流浏览器都支持它们。