js 日期转换格式
/**
-
日期转换格式
-
@param date 当前时间,new Date() 格式
-
@param format 时间格式字符串
-
@description format 如
yy-mm、y-m-dd
-
@returns 时间
*/
function formatDate2(date: Date, format: string): string {//opt的key带了 “+” 号,表示正则要匹配多次,例如输入format格式输入y 或者 yyy 都会被匹配到
const opt = {
‘y+’: date.getFullYear().toString(), // 年
‘m+’: (date.getMonth() + 1).toString(), // 月(月份从0开始)
‘d+’: date.getDate().toString(), // 日
‘H+’: date.getHours().toString(), // 时
‘M+’: date.getMinutes().toString(), // 分
‘S+’: date.getSeconds().toString(), // 秒
};for (let k in opt) {
let r = new RegExp(‘(’ + k + ‘)’).exec(format);
if®{
//如果值小于10,则 添加0,例如 09月
if(Number(opt[k])<10){
opt[k] = “0”+ opt[k]
}
//替换格式里面的值
format = format.replace(r[1], opt[k])
}
}
return format;
}
console.log(“1–”,formatDate2(new Date(), “yy-mm”))
console.log(“2–”,formatDate2(new Date(), “y-m”))
console.log(“3–”,formatDate2(new Date(), “y__m__d H:M:S”))
console.log(“4–”,formatDate2(new Date(), “yyy-mm-dd HH:MM:SS”))