function dateFormater(formater,t){
var date = t ? new Date(t) : new Date(),
Y = date.getFullYear() + '',
M = date.getMonth() + 1,
D = date.getDate(),
H = date.getHours(),
m = date.getMinutes(),
s = date.getSeconds();
return formater.replace(/YYYY|yyyy/g,Y)
.replace(/YY|yy/g,Y.substr(2,2))
.replace(/MM/g,(M<10?'0':'') + M)
.replace(/DD/g,(D<10?'0':'') + D)
.replace(/HH|hh/g,(H<10?'0':'') + H)
.replace(/mm/g,(m<10?'0':'') + m)
.replace(/ss/g,(s<10?'0':'') + s)
}
// Date Date String (M)(d)(h)(m)(s)(q) 1-2
// (y) 1-4 (S) 1 ( 1-3 ) :
// (new Date()).formate("yyyy-MM-dd") ==> 2018-07-18
// (new Date()).formate("yyyy-MM-dd hh:mm:ss") ==> 2018-07-18 10:01:49
// (new Date()).formate("yyyy-MM-dd hh:mm:ss.S") ==> 2018-07-18 10:10:01.956
// (new Date()).formate("yyyy-M-d h:m:s.S") ==> 2018-7-18 10:11:9.724
Date.prototype.formate = function (format) {
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;
};
let date = new Date();
console.log(date.formate("yyyy-MM-dd"))
console.log(date.formate("yyyy-MM-dd hh:mm:ss"))
console.log(date.formate("yyyy-MM-dd hh:mm:ss.S"))
console.log(date.formate("yyyy-M-d h:m:s.S"))