为什么moment.js减法不起作用?
问题描述:
我试图到7天减去某个指定日期使用moment.js为什么moment.js减法不起作用?
var date ="2015-10-19";
var now = moment(date);
var oneWeekAgo = moment(date).subtract(7,'days');
当我检查的now
值和oneWeekAgo
具有相同的内容两者。
Moment {_isAMomentObject: true, _i: "2015-10-19", _f: "YYYY-MM-DD ", _isUTC: false, _pf: Object…}
但是,如果我减去7天到当前时间它的作品。
var oneWeekAgo = moment().subtract(7,'days');
我注意到,实例化的无参数瞬间改变自己的结构,在_d
属性,而不是_i
存储日期。
Moment {_isAMomentObject: true, _isUTC: false, _pf: Object, _locale: Locale, _d: Tue Oct 13 2015 13:34:50 GMT+0200 (Hora de verano romance)}
为什么会发生?我该如何解决它? Thanx。
答
momentjs的私有变量并不那么简单。
_i
只是您用来实现momentjs对象的字符串。这不是日期的当前值。
var date = "2015-10-19";
var now = moment(date);
var oneWeekAgo = moment(date).subtract(7, 'days');
// 2015 10 19
console.log(now.format('YYYY MM DD'));
// 2015 10 12
console.log(oneWeekAgo.format('YYYY MM DD'));
缺少')'关闭console.log';-)' – Finrod
糟糕。感谢那。 – Magus
感谢它的工作! – Sapikelio