2. safari 浏览器中, new Date("2016-10-31") 显示为 invalid date

原因:将字符串形式的日期转换成日期对象,不支持 "2016-10-31" 这种格式。

将字符串形式的日期转换成日期对象

示例:

new Date("2016,10,31"); // 正确

new Date("2016/10/31"); // 正确

new Date("2016-10-31"); // 错误

注:虽然在 chrome 中, 可以用 new Date("2016-10-31") 这种方式,但是为了兼容性以及准确性,建议用前面两种。当然也可以用正则把 "2016-10-31" 替换成前面两种格式。

正则替换:

var str = "2016-10-31";

new Date(str.replace(/-/g, "/")); 或 new Date(str.replace(/-/g, ","));

文小白滴笔记~~
原文地址:https://www.cnblogs.com/lwl0812/p/6022789.html