我正在尝试将区域设置日期字符串转换为针对IE11的日期,我在Visual Studio 2015中测试它,isOpaque
返回parseInt
。以下是我的功能示例:
https://jsfiddle.net/4tL8p5fh/
NaN
function convertLocaleDateStringToDate(locale) {
var numbers = locale.split("/");
var results = [];
for (var i = 0; i < numbers.length; i++) {
results[i] = parseInt(numbers[i]);
}
return new Date(results[2], results[0] - 1, results[1]);
}
dates = [
"9/30/2016",
"10/1/2016",
"1/1/2016",
"12/31/2016"
];
var root = document.getElementById("root");
dates.forEach(function(ele) {
root.innerHTML += convertLocaleDateStringToDate(ele) + "<br />"
})
如果我在IE11中运行相同的功能,它在jsfiddle中可以正常工作。在IE 11中由于某种原因,当您将语言环境日期字符串输入日期时,它无法转换它。
答案 0 :(得分:0)
我发送了字符串“9/30/2016”到函数中,我出去了[“9”,“30”,“2016”]这是预期的,但当我检查“9”的长度我看起来有两个字符添加到字符串中,一个在数字字符串之前,一个在数字字符串之后。我过滤掉了那些额外的角色,现在就可以了。