美文网首页
格式化日期

格式化日期

作者: sunny519111 | 来源:发表于2017-06-16 00:22 被阅读17次

给一个数字的日期和月份添加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'))

相关文章

网友评论

      本文标题:格式化日期

      本文链接:https://www.haomeiwen.com/subject/qncpqxtx.html