使用momentjs添加日期

时间:2017-12-20 21:07:11

标签: date momentjs

我想在我的日期添加一天:

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/

有谁知道我可能做错了什么?

4 个答案:

答案 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;
&#13;
&#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');