js時間格式化工具

程式設計師中的流浪漢發表於2020-11-16
dateFormat(date, fmt) {
        /**
         * 時間格式化工具
         */
        let o = {
          'M+': date.getMonth() + 1,
          'd+': date.getDate(),
          'H+': date.getHours(),
          'm+': date.getMinutes(),
          's+': date.getSeconds(),
          'S+': date.getMilliseconds(),
        }
        //因位date.getFullYear()出來的結果是number型別的,所以為了讓結果變成字串型,下面有兩種方法:
        if (/(y+)/.test(fmt)) {
          //第一種:利用字串連線符“+”給date.getFullYear()+"",加一個空字串便可以將number型別轉換成字串。
          fmt = fmt.replace(
            RegExp.$1,
            (date.getFullYear() + '').substr(4 - RegExp.$1.length)
          )
        }
        for (let k in o) {
          if (new RegExp('(' + k + ')').test(fmt)) {
            //第二種:使用String()型別進行強制資料型別轉換String(date.getFullYear()),這種更容易理解。
            fmt = fmt.replace(
              RegExp.$1,
              RegExp.$1.length == 1
                ? o[k]
                : ('00' + o[k]).substr(String(o[k]).length)
            )
          }
        }
        return fmt
      }

相關文章