js 格式化时间
function dateFormate(fmt,date){
var opt = {
"Y+": date.getFullYear().toString(), //年
"m+": (date.getMonth() +1).toString(), //月
"d": date.getDate().toString(), //日
"H+": date.getHours().toString(), //时
'M+': date.getMinutes().toString(), // 分
'S+': date.getSeconds().toString(), // 秒
'ss+': date.getMilliseconds().toString() // 毫秒
};
for (let k in opt) {
/** RegExp.exec(string)
* 用于检索字符串中的正则表达式的匹配
* 返回值,一个数组,其中存放匹配的结果,如未找到,则返回值为null
* eg: ["YYYY","YYYY",index: 0, input: 'YYYY-mm-dd HH:MM', groups:undefined]
* ["mm","mm",index: 4, input: '2020-mm-dd HH:MM', groups:undefined]
*/
ret = new RegExp("(" + k + ")").exec(fmt);
if (ret) {
/** 1. stringObject.replace(regexp/substr,replacement)
* 2. ret[1]为YYYY 或者 HH 等,如果 ret[1]只有一个字符,则结果就是opt[k],
* 否则按照YYYY或者HH所需的长度补齐。
* 3. string.padStart(param1,param2)接受两个参数,第一个参数用来指定字符串的最小
* 长度,第二个字符串是用来补全的字符串,这里是“0” 表示如果字符串不够ret[1].length
* 就在字符串string前补“0”
* eg opt[k]为2,opt[k].padStart('HH'.length,"0") 即02, (2020-08-17 02:15:20)
*/
fmt = fmt.replace(ret[1], (ret[1].length == 1) ? (opt[k]) : (opt[k].padStart(ret[1].length, "0")))
};
};
return fmt;
}
用法:
const timeStamp = new Date()
this.Format('YYYY-mm-dd HH:MM', timeStamp)