new Date("2017-1-19")在IE8下获取日期返回NAN

查阅相关资料得知:

function StringToDate(DateStr) {
if (typeof DateStr == "undefined") return new Date();
if (typeof DateStr == "date") return DateStr;
var converted = Date.parse(DateStr);
var myDate = new Date(converted);
if (isNaN(myDate)) {
DateStr = DateStr.replace(/:/g, "-");
DateStr = DateStr.replace(" ", "-");
DateStr = DateStr.replace(".", "-");
var arys = DateStr.split('-');
switch (arys.length) {
case 7:
myDate = new Date(arys[0], --arys[1], arys[2], arys[3], arys[4], arys[5], arys[6]);
break;
case 6:
myDate = new Date(arys[0], --arys[1], arys[2], arys[3], arys[4], arys[5]);
break;
default:
myDate = new Date(arys[0], --arys[1], arys[2]);
break;
};
};
return myDate;
}

亲测可以用

原文地址:https://www.cnblogs.com/lr-blog/p/6307330.html