nodejs 格式化 Date, 为yyyy-MM-dd HH:mm:ss 格式

===============2019-11-25更新========

推荐:更实用完美解决时间格式化的 组件 monent

官网地址:http://momentjs.cn/

=====================================

网上撸来的,实测管用

Date.prototype.Format = function (fmt) {
  var o = {
    'M+': this.getMonth() + 1,
    'd+': this.getDate(),
    'H+': this.getHours(),
    'm+': this.getMinutes(),
    's+': this.getSeconds(),
    'S+': this.getMilliseconds()
  };
  //因为date.getFullYear()出来的结果是number类型的,所以为了让结果变成字符串型,下面有两种方法:
  if (/(y+)/.test(fmt)) {
    //第一种:利用字符串连接符“+”给date.getFullYear()+'',加一个空字符串便可以将number类型转换成字符串。
    fmt = fmt.replace(RegExp.$1, (this.getFullYear() + '').substr(4 - RegExp.$1.length));
  }
  for (var 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;
};

使用方法:

let day = new Date();

day.Format('yyyy-MM-dd HH:mm:ss');