我有一个开始日期字符串“20.03.2014”,我想用moment.js添加5天,但我没有在警报窗口中得到新的日期“25.03.2014”。

这里是我的javascript代码:

startdate = "20.03.2014";
var new_date = moment(startdate, "DD-MM-YYYY").add("DD-MM-YYYY", 5);

alert(new_date);

这里是我的jsfiddle: http://jsfiddle.net/jbgUt/1/

我怎么解决这个问题?

我喜欢这个字符串格式“25.03.2014”

希望有人能帮助我。


当前回答

你可以用不同的格式添加日期:

// Normal adding
moment().add(7, 'days');

// Short Hand
moment().add(7, 'd');

// Literal Object    
moment().add({days:7, months:1});

更多信息请访问Moment.js文档:https://momentjs.com/docs/#/manipulating/add/

其他回答

如果我们想使用当前日期或当前日期:

var new_date = moment(moment(), "MM-DD-YYYY").add(7, 'days')
alert(new_date);

将https://momentjs.com/downloads/moment-with-locales.js添加到HTML页面 var todayDate = moment().format('DD-MM-YYYY') 然后 var dueDate = moment().add(15,'days').format('DD-MM-YYYY')//为当前日期添加15天。

点2和3是用在你的jquery代码…

要得到一个实际的工作示例,返回我们所期望的:

var startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
var thing = new_date.add(5, 'days').format('DD/MM/YYYY');
window.console.log(thing)

你可以把他们说的话压缩成几行代码:

var nowPlusOneDay = moment().add('days', 1);
var nowPlusOneDayStr = nowPlusOneDay.format('YYYY-MM-DD');

alert('nowPlusOneDay Without Format(Unix Date):'+nowPlusOneDay);
alert('nowPlusOneDay Formatted(String):'+nowPlusOneDayStr);

函数add()返回旧日期,但更改原始日期:)

startdate = "20.03.2014";
var new_date = moment(startdate, "DD.MM.YYYY");
new_date.add(5, 'days');
alert(new_date);