Date 格式化

在做项目的过程中因为时间参数用的比较多,所以再网上看到这篇很经典的时间格式转换工具,就给大家分享一下
就是把格式化的方法写到Date对象的原型链上,然后实例化调用,参数就是你想输出的格式

Date.prototype.Format = function (format) {
  let o = {
    "M+": this.getMonth() + 1, //month
    "d+": this.getDate(), //day
    "h+": this.getHours(), //hour
    "m+": this.getMinutes(), //minute
    "s+": this.getSeconds(), //second
    "q+": Math.floor((this.getMonth() + 3) / 3), //quarter
    "S": this.getMilliseconds() //millisecond
  }
  if (/(y+)/.test(format)) {
    format = format.replace(RegExp.$1, (this.getFullYear() + "").substr(4 - RegExp.$1.length));
  }
  for (let k in o) {
    if (new RegExp("(" + k + ")").test(format)) {
      format = format.replace(RegExp.$1, RegExp.$1.length === 1 ? o[k] : ("00" + o[k]).substr(("" + o[k]).length));
    }
  }
  return format;
}

举个例子

let date = new Date().Format('yyyy-MM-dd hh:mm:ss')  // 2018-08-21 18:37:40
let date = new Date().Format('yyyy-MM-dd hh:mm')     // 2018-08-21 18:37
let date = new Date().Format('yyyy-MM-dd')           //2018-08-21

看到了吧 确实很好用

你可能感兴趣的:(Date 格式化)