index.js
Date = function (Date) {
//复制
XDate.prototype = Date.prototype;
const propertys = Object.getOwnPropertyNames(Date)
for (let i = 0; i < propertys.length; i++) {
let property = propertys[i]
if ( XDate[property]==null ) {
XDate[property] = Date[property]
}
}
//重写构造函数
function XDate() {
if (arguments.length === 1) {
let arg = arguments[0];
if (Object.prototype.toString.call(arg) === '[object String]' && arg.indexOf('T') === -1) {
arguments[0] = arg.replace(/-/g, "/");
}
}
let bind = Function.bind;
let unbind = bind.bind(bind);
return new (unbind(Date, null).apply(null, arguments));
}
//增加自定义格式化原型方法 new Date().Format('hh:mm:ss')
XDate.prototype.Format = function (fmt) {
var o = {
"M+": this.getMonth() + 1, //月份
"d+": this.getDate(), //日
"h+": this.getHours(), //小时
"m+": this.getMinutes(), //分
"s+": this.getSeconds(), //秒
"q+": Math.floor((this.getMonth() + 3) / 3), //季度
S: this.getMilliseconds() //毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(
RegExp.$1,
(this.getFullYear() + "").substr(4 - RegExp.$1.length)
);
for (var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(
RegExp.$1,
RegExp.$1.length == 1 ?
o[k] :
("00" + o[k]).substr(("" + o[k]).length)
);
return fmt;
};
return XDate;
}(Date);
使用
引用js
参考
https://blog.csdn.net/milugloomy/article/details/108701448
https://blog.csdn.net/qq_21859119/article/details/86079136