function add(str,data){
if(str.length == 2 && data<10){
return "0"+data;
}
return data;
}
function formatDate(date,str){
// 深复制,存储匹配到的需要替换的字符串
let newArr = str.match(/\w+/g);
let arr = [];
for(let k in newArr){
arr[k] = newArr[k];
}
// 星期数
let day=["日","一","二","三","四","五","六"]
// 按照题目要求得到对应时间数据
for(let i in newArr){
switch(newArr[i][0]){
case "y":
if(newArr[i].length == 4){
newArr[i] = date.getFullYear();
}else{
newArr[i] = date.getYear()-100;
}
break;
case "M":
newArr[i] = add(newArr[i],date.getMonth()+1);
break;
case "d":
newArr[i] = add(newArr[i],date.getDate());
break;
case "H":
newArr[i] = add(newArr[i],date.getHours());
break;
case "h":
newArr[i] = add(newArr[i],date.getHours()%12);
break;
case "m":
newArr[i] = add(newArr[i],date.getMinutes());
break;
case "s":
newArr[i] = add(newArr[i],date.getSeconds());
break;
case "w":
newArr[i] = day[date.getDay()];
break;
}
}
// 字符串匹配和替换
for(let k in arr){
str = str.replace(arr[k],newArr[k]);
}
// 返回替换后的字符
return str
}