首页 > 代码库 > js实现重写new Date()兼容IE6以上主流浏览器

js实现重写new Date()兼容IE6以上主流浏览器

var newDate = function (o) {
if (arguments.length === 1 && typeof o === ‘string‘) {
o = /MSIE\s*?(\d+)/i.test(navigator.userAgent) ? o.replace(/\D+/g, ‘,‘) : ‘"‘ + o + ‘"‘;
}
if (arguments.length > 1) {
var t = [];
for (var j = 0; j < arguments.length; j++) {
t.push(arguments[j]);
}
o = t.join(‘,‘);
}
return eval(‘new Date(‘ + (o || ‘‘) + ‘)‘);
};

var d1 = new Date(2014, 10, 10);
var d2 = newDate(2014, 10, 10);
console.log(d1);
console.log(d1.getTime());
console.log(d2);
console.log(d2.getTime());

效果:

技术分享

使用:(和浏览器自带的使用方式完全一样)

var d = newDate(2014, 10, 10);
var d = newDate(‘2014/5/22‘);
var d = newDate(‘2014-9-10 12:20:34‘);

 

js实现重写new Date()兼容IE6以上主流浏览器