首页 > 代码库 > Js中Date格式化为字符串

Js中Date格式化为字符串

惭愧,混迹博客园2年了,还没写过什么。最近不太忙,就写一下Js中Date对象的字符串转换吧。

直接贴代码,欢迎各位拍砖,吐槽!

/*格式化时间
*formatStr 格式,如:YY-MM-DD hh:mm:ss、Y-M-D h:m:s
*只有一个M时,月份小于十时前面不追加零,D、h、m、s雷同
*/
Date.prototype.toStringFormat = function (formatStr) {
  if (formatStr == null || formatStr == ‘‘) return ‘‘;
  var date = this;
  var formatOper = {
    ‘YY‘: function () {
      return date.getFullYear();
    }, ‘Y‘: function () {
      return formatOperArr[‘YY‘]();
    }, ‘MM‘: function () {
      return date.getMonth() + 1 > 9 ? date.getMonth() + 1 : ‘0‘ + (date.getMonth() + 1);
    }, ‘M‘: function () {
      return date.getMonth();
    }, ‘DD‘: function () {
      return date.getDate() > 9 ? date.getDate() : ‘0‘ + date.getDate();
    }, ‘D‘: function () {
      return date.getDate();
    }, ‘hh‘: function () {
      return date.getHours() > 9 ? date.getHours() : ‘0‘ + date.getHours();
    }, ‘h‘: function () {
      return date.getHours();
    }, ‘mm‘: function () {
      return date.getMinutes() > 9 ? date.getMinutes() : ‘0‘ + date.getMinutes();
    }, ‘m‘: function () {
      return date.getMinutes();
    }, ‘ss‘: function () {
      return date.getSeconds() > 9 ? date.getSeconds() : ‘0‘ + date.getSeconds();
    }, ‘s‘: function () {
      return date.getSeconds();
    }
  };
  var formatStrArr = formatStr.split(/[^YMDhms]/g);
  var splitArr = formatStr.split(/[YMDhms]/g).filter(function (a) { return a != ‘‘; });
  var returnStr = ‘‘;
  formatStrArr.forEach(function (value, index) {
    returnStr += formatOper[value]() + (splitArr[index] == undefined ? ‘‘ : splitArr[index]);
  });
  return returnStr;
};