实现: "2020-12-30 20:22:45"->2020年12月30号 20时22分45秒
先转换成数组格式,这里可以用正则去匹配后追加空数组中。
原理:
var resStr = "{0}年{1}月{2}日 {3}时{4}分{5}秒";
var str1 =["2020","12","30" ,"20","22","45"];
resStr去匹配str1
var myFormatTime=function(str,time){
var numreg = /\d+/g,arr = [];
time.replace(numreg,function(){
arr.push(arguments[0])
})
var reg = /{(\d+)}/g; //加()是进行分组
str = str.replace(reg,function(){
var num = arguments[1],val = arr[num];
return val.length<2 ? val = '0'+val : val;
})
return str
}
console.log(myFormatTime('{0}时{1}分{2}秒','20:22:45')) //->20时22分45秒 根据传入值来显示