moment.js
.add()
方法
通过增加时间来改变原始时刻。
var now = moment([2015, 11, 29, 14]);
var tomorrow = now.add(1, 'd');
// now has changed
如果我有一个固定的'现在'时刻,我希望稍后在我的程序中重复使用,那么正确的方法是什么?
我找到的最好的是像
这样的结构var ref = [2015, 11, 29, 14];
var now = moment(ref);
var tomorrow = moment(ref).add(1, 'd');
var start = moment(ref).startOf('day'); // beginning of today
var end = moment(ref).add(1, 'd').endOf('day'); // end of tomorrow
但对我来说看起来很笨拙。
答案 0 :(得分:1)
注意:应该注意的是,时刻是可变的。调用任何操作方法都会改变原始时刻。
如果要创建副本并对其进行操作,则应在操作时刻之前使用#cron时刻。 More info on cloning
var now = moment([2015, 11, 29, 14]);
var tomorrow = now.clone().add(1, 'd');
var start = now.clone().startOf('day'); // beginning of today
var end = now.clone().add(1, 'd').endOf('day'); // end of tomorrow
quick look at their code on Github表明他们所做的一切都是return new Moment(this)
,因此如果您更清楚,可以通过new Moment(now)
代替now.clone()
来执行相同的操作。我个人认为你应该使用对你来说最清楚的任何方法。