close

string轉date在format格式總是一直google,筆記一下方便之後翻閱

Date.prototype.format = function (fmt) {

//訂好過濾Key,Value
  let o = {
    "M+": this.getMonth() + 1, //月份
    "d+": this.getDate(), //日
    "h+": this.getHours(), //小時
    "m+": this.getMinutes(), //分
    "s+": this.getSeconds(), //秒
    "q+": Math.floor((this.getMonth() + 3) / 3), //季度
    "S": this.getMilliseconds() //毫秒
  };

//fmt套用/(y+)/找連續y的地方,如果有連續y,將第一個(RegExp.$1)符合正規表示的值取代為年分
  if (/(y+)/.test(fmt)) fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));

//for找字串是否有o裡面的Key值,有的話取代為value值
  for (var k in o)
  if (new RegExp("(" +  k + ")").test(fmt)) fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k]) : (("00" +  o[k]).substr(("" + o[k]).length)));
  return fmt;
}

用正規表示過濾取代數字

資料來源:https://blog.scottchayaa.com/post/2019/05/27/javascript_date_memo/
正規表示式:正規表示式Regular Expression

arrow
arrow
    文章標籤
    javascript
    全站熱搜
    創作者介紹
    創作者 jack1213 的頭像
    jack1213

    尋找魔豆的傑克

    jack1213 發表在 痞客邦 留言(0) 人氣()