给一个数字的日期和月份添加0
// 用于一个位数左边加一个0
function padLeftZero(str){
return ('00'+str).substr(str.length)
}
通过正则test()方法后,RegExp.$...得到分组
if(/(y+)/.test('huangyyychu')){
console.log(RegExp.$1) //yyy
}
主要代码
function formatDate(date,fmt){
if(/(y+)/.test(fmt)){
fmt = fmt.replace(RegExp.$1,(date.getFullYear()+'').substr(4-RegExp.$1.length));
}
var o ={
'M+': date.getMonth()+1,
'd+': date.getDate(),
'h+': date.getHours(),
'm+': date.getMinutes(),
's+': date.getSeconds()
}
Object.keys(o).forEach((item)=>{
if(new RegExp(`(${item})`).test(fmt)){
var str = o[item]+'';
fmt = fmt.replace(RegExp.$1,addZero(str))
}
})
return fmt;
function addZero(str){
return ('00'+str).substr(str.length);
}
}
var date = new Date()
console.log(formatDate(date,'yyyy-MM-dd'))
网友评论