非常好用的時間格式化方法

Date.prototype.format=function(format){
     var time={
    //每個標識字母后面帶有+,后面正則判斷時可表示至少出現(xiàn)一個
          'M+':this.getMonth()+1,//月
          'd+':this.getDate(),//天
          'H+':this.getHours(),//小時
          'm+':this.getMinutes(),//分鐘
          's+':this.getSeconds(),//秒
          'q+':Math.floor((this.getMonth+3)/3),//季度
          'f+':this.getMilliseconds(),//毫秒
     }
     //(y+)表示所傳參數(shù)中至少匹配一個y,test()方法判斷規(guī)則,返回布爾值
    if(/(y+)/.test(format)){
        //replace()方法是將匹配項替換成自定義項
        //Regexp.$1返回的是format中匹配的,參照的是(y+),看format中出現(xiàn)幾個y
        //substr()方法,如果年份傳2位,就把獲得的值解掉成2位,這里是fullyear的后兩位,傳一個值代表從哪里截到最后
        format=format.replace(RegExp.$1,(this.getFullYear()+'').substr(4-RegExp.$1.length));
    }
    //遍歷時間對象,把方法傳參替換成時間
      for(var k in time){
        //new RegExp() 正則規(guī)則的另外一種寫法
          if(new RegExp('('+k+')').test(format)){
                 //substr()字符串中的方法,所有下面要加引號
               format=format.replace(RegExp.$1,(RegExp.$1.length==1)?(time[k]):("00"+time[k]).substr((''+time[k]).length));
          }
      }
      return format;

}
module.exports=Date.prototype.format;
最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容