interface Date { format(format: string): string } /** * 时间格式化 * @param format */ Date.prototype.format = function (format: DateType | undefined = 'datetime'): string { if (format === 'date') { format = 'yyyy-MM-dd' } else if (format === 'datetime') { format = 'yyyy-MM-dd hh:mm:ss' } else if (format === 'time') { format = 'hh:mm:ss' } const o = { "M+": this.getMonth() + 1, //month "d+": this.getDate(), //day "h+": this.getHours(), //hour "m+": this.getMinutes(), //minute "s+": this.getSeconds(), //second "q+": Math.floor((this.getMonth() + 3) / 3), //quarter "S": this.getMilliseconds() //millisecond } if (/(y+)/.test(format)) { format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length)); } for (const k in o) { if (new RegExp("(" + k + ")").test(format)) { format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length)); } } return format; } // String.prototype.formatDate = function (format) { // const time = this.replaceAll(/-/g, "/"); // return new Date(time).format(format); // }