【问题标题】:Adding days to Moment object (momentjs)向 Moment 对象添加天数 (momentjs)
【发布时间】:2017-07-26 16:30:34
【问题描述】:

我正试图找到一种方法来增加一天的时间。我可以根据当前时间让它工作一会儿,但就是这样。这是我当前的代码:

let start = moment('2017-01-15');
console.log(moment().add(7, 'days'));
console.log(moment(start).add(7, 'days'));

结果如下:

时刻 {_isAMomentObject: true, _isUTC: false, _pf: Object, _locale: 语言环境,_d:2017 年 3 月 13 日星期一 12:21:00 GMT-0400(东部夏令时 时间)…}

时刻 {_isAMomentObject: true, _i: "2017-01-15", _f: "YYYY-MM-DD", _isUTC:假,_pf:对象……}

所以它适用于 moment() 但不是这样。我到处看,这就是我应该做的,所以我不知道我错过了什么。

【问题讨论】:

  • 所以看起来我必须使用 format() 才能看到变化。奇怪,但它似乎有效。
  • 和我一样:我在 Moment.js 自己的 website 上尝试过。如果我执行moment('2017-01-15').add(7, 'days'),它仍然会输出相同的日期,但如果我执行moment('2017-01-15').add(7, 'days').format(),它将按预期显示新日期和添加的日期。我还注意到(就像您所做的那样)只有当我将日期字符串作为参数传递时才会发生这种情况。如果我只是做了moment().add(7, 'days'),它将按预期输出。一定与 Moment.js 如何存储日期变量有关?

标签: javascript momentjs


【解决方案1】:

您已经创建了moment 对象,现在您可以使用start 变量调用add

let start = moment('2017-01-15');
console.log(moment().add(7, 'days'));
console.log(start.add(7, 'days'));
.as-console-wrapper {
  top: 0;
  max-height: 100% !important;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.17.1/moment.min.js"></script>

【讨论】:

  • 第二个日期还是一样。
  • @TroyTaylor 不,不是。上面写着“2017-01-22”。
  • +1 表示start.add(7, 'days') 而不是moment(start),但我建议使用format() 方法来显示矩值。
猜你喜欢
  • 2017-12-03
  • 2019-01-21
  • 1970-01-01
  • 2023-03-04
  • 2021-02-05
  • 2014-04-28
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多