扩展MomentJS以覆盖toString()函数

时间:2016-01-06 04:20:34

标签: javascript momentjs

我试图延长时刻的toString函数,以不同的格式返回日期。

即。我想创建一个momentDate,如下所示:

// Will return "Sat Dec 12 2015 00:00:00 GMT+1100"
moment('2015-12-12').toString();

// Will return a custom format, e.g. "2015-12-12"
momentDate('2015-12-12').toString();

我一直在尝试没有成功。我不确定它是否可能因为写了片刻,所以我想我会在这里问。

1 个答案:

答案 0 :(得分:1)

我的问题在这里得到了解答:

https://stackoverflow.com/a/34626333/2248573

注意:解决方案适用于v2.11.0。

function extendedMoment() {
  var self = moment();
  
  self.__proto__ = extendedMoment.prototype;
  
  return self;
}

extendedMoment.prototype.__proto__ = moment.prototype;

extendedMoment.prototype.toString = function(){
  return this.format('YYYY-MM-DD')
}

document.write("Original: " + moment().toString());
document.write("<br/>");
document.write("Extended: " + extendedMoment().toString());
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.11.0/moment.js"></script>