momentJS日期字符串添加5天

时间:2014-03-20 23:15:31

标签: javascript momentjs add days

我有一个开始日期字符串" 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"

希望有人可以帮助我。

10 个答案:

答案 0 :(得分:215)

更新时间:2016年1月19日

截至第2.8.4时刻 - 使用.add(5, 'd')(或.add(5, 'days'))代替.add('d', 5)

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

感谢@Bala提供的信息。

更新时间:2014年3月21日

这是获得该格式所必须做的事情。

Here's an updated fiddle

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

var day = new_date.format('DD');
var month = new_date.format('MM');
var year = new_date.format('YYYY');

alert(day + '.' + month + '.' + year);

原文:2014年3月20日

您没有告诉它如何/添加什么单位。使用 -

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

答案 1 :(得分:11)

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

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

答案 2 :(得分:9)

moment(moment('2015/04/09 16:00:00').add(7, 'd').format('YYYY/MM/DD HH:mm:mm'))

必须格式化然后再转换为时刻。

答案 3 :(得分:7)

您可以添加不同格式的天数:

// 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/

答案 4 :(得分:2)

你可以在几行代码中减少他们所说的内容:

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);

答案 5 :(得分:2)

要获得一个实际的工作示例,它会返回预期的结果:

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)

答案 6 :(得分:2)

  1. https://momentjs.com/downloads/moment-with-locales.js添加到您的html页面
  2. var todayDate = moment().format('DD-MM-YYYY');//to get today date 06/03/2018 if you want to add extra day to your current date 那么
  3. var dueDate = moment().add(15,'days').format('DD-MM-YYYY')// to add 15 days to current date..
  4. 第2点和第3点正在你的jquery代码中使用......

答案 7 :(得分:1)

var end_date = moment(start_date).clone()。add(5,'days');

答案 8 :(得分:0)

已更新:

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

alert(new_date)

答案 9 :(得分:0)

如果您在向函数添加 X 时间后确实遇到格式问题,请尝试以下格式:

startDate = moment(startDate).add(1, "days").format("YYYY-MM-DD");

代替:

startDate = moment(startDate, "YYYY-MM-DD").add(1, "days");

最后一个版本将时间附加到返回的数据上,而 format 方法没有并且从字面上返回 YYYY-MM-DD。