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‘);

 

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。