我想在我的日期添加一天:
let createdDate = moment(new Date()).utc().format();
let expirationDate = moment(createdDate).add(1, 'd');
console.log(expirationDate);
然而,这会不断返回一个不起眼的对象{_i: "2017-12-20T21:06:21+00:00", _f: "YYYY-MM-DDTHH:mm:ss Z", _l: undefined, _isUTC: false, _a: Array(7), …}
小提琴:
http://jsfiddle.net/rLjQx/4982/
有谁知道我可能做错了什么?
答案 0 :(得分:6)
您正在记录片刻对象。正如Internal Properties指南所述:
要打印出片刻的价值,请使用
.format()
,.toString()
或.toISOString()
。
let createdDate = moment(new Date()).utc().format();
let expirationDate = moment(createdDate).add(1, 'd');
console.log(expirationDate.format());

<script src="https://cdnjs.cloudflare.com/ajax/libs/moment.js/2.20.1/moment.min.js"></script>
&#13;
请注意,您可以使用moment()
(无需使用new Date()
)或moment.utc()
获取当前日期。
答案 1 :(得分:1)
add
方法修改时刻对象。因此,当您记录它时,您没有得到一个模糊的对象,您正在获得您正在使用的时刻对象。你期待一个格式化的日期吗?然后使用format
或其他方法。
答案 2 :(得分:1)
我将使用这一简单的作品,我认为您不需要其他功能仅需增加一天的时间。
var yourPreviousDate = new Date();
var yourExpectedDate = moment(yourPreviousDate).add(1, 'd')._d;
答案 3 :(得分:0)
我同意其他答案,只是提供了快捷方式和不同的方式
您可以同时制作格式
moment().add(1,'d').format('YYYY-MM-DD');
或者您可以仅格式化任何日期或日期对象
moment(result.StartDate).format('YYYY-MM-DD');