js时间格式化工具

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
      }

猜你喜欢

转载自blog.csdn.net/sunboylife/article/details/109714203