js实现时间转化成特定格式

this.formatDate(new Date(1534814729000),'M月d日hh:mm') : '',//8月21日09:25
this.formatDate(new Date(new Date().getTime()), 'yyyy-MM-dd hh:mm:ss');//2017-09-09 17:02:56
formatDate(date, fmt) {
    if (/(y+)/.test(fmt)) {
      fmt = fmt.replace(RegExp.$1, (date.getFullYear() + '').substr(4 -
        RegExp.$1.length))
    }
    let o = {
      'M+': date.getMonth() + 1,
      'd+': date.getDate(),
      'h+': date.getHours(),
      'm+': date.getMinutes(),
      's+': date.getSeconds()
    }
    for (let k in o) {
      if (new RegExp(`(${k})`).test(fmt)) {
        let str = o[k] + ''// o[M+]----------->8
        console.log(fmt)
        console.log(RegExp.$1);//匹配到的第一个
        fmt = fmt.replace(RegExp.$1, RegExp.$1.length === 1 ? str :
          this.padLeftZero(str))
      }
    }
    console.log(fmt)
    return fmt
  },

  padLeftZero(str) {
    return ('00' + str).substr(str.length)
  },

猜你喜欢

转载自blog.csdn.net/etemal_bright/article/details/82386957