在做一个时间控件时,需要做时间的限制,于是用到了new Date('yyyy-mm-dd').getTime()来比较时间,后来测试发现,在ie上竟然功能不能实现,经过排查发现,在ie下,new Date('yyyy-mm-dd') 返回的值是NaN。
这时查找了一下,原来ie下支持new Date(yyyy,mmm,dd)形式。这时就又要麻烦改写格式了:
var time = '2015-09-1 16:11';
var newFormatTime = NewDate(time);
var date = new Date(newFormatTime[0],newFormatTime[1],newFormatTime[2],newFormatTime[3],newFormatTime[4]);
console.log(date.getTime()); //1443687060000
function NewDate(str) {
date = str.split(' ')[0].split('-');
time = str.split(' ')[1].split(':');
var number = [];
for (var i = 0; i < 3; i++) {
number[i] = Number(date[i]);
}
for (var j = 3; j < 5; j++) {
number[j] = Number(time[j - 3]);
}
return number;
}
特别无语的是ie下,new Date()传入的是一串number,我试了一下传入一串字符不管用。
比如,new Date('2015,9,1,16,11'),输出则为NaN。
不知道还有没有更好的处理方式,求大神指教。
本文介绍了一个在Internet Explorer浏览器中使用new Date('yyyy-mm-dd')方法遇到的问题,由于IE对该格式的支持不佳,导致获取的时间值为NaN。文中提供了一种转换日期格式的方法,并探讨了可能的解决方案。
938

被折叠的 条评论
为什么被折叠?



