Javascript将现有日历对象的天数添加一个月

时间:2015-04-24 07:14:04

标签: javascript

我试图从Calendar对象中读取日期并为其添加特定的天数(即7)

以下是我的代码:

var daysFromBeginDate = parseInt($("#policyDuration").val()) * 7
alert(daysFromBeginDate)
var beginDate = new Date("2015-04-24");
alert(beginDate)
var endDate = new Date("2015-05-08");
alert(beginDate.getDate() + daysFromBeginDate)
endDate.setDate(new Date(beginDate.getDate() + daysFromBeginDate));
alert(endDate.toString())

我的答案是Sun May 31 2015 17:00:000 GMT。应该是少了一个月,额外的月份会增加到哪里?

1 个答案:

答案 0 :(得分:2)

使用以下调用的JavaScript,我发现month参数从零开始计算。

new Date(2015, 3, 1);  // that's the 1st April 2015!

导致此问题的原因是代码中的以下代码段: -

endDate.getMonth() + 1

这可能是你问题的原因..

编辑: 如果以下代码

var endDate = new Date("2015-05-08");

更改为

var endDate = new Date();

你会得到正确的输出..

这是因为setDate设置了月份的日期,而4月只有30天,所以它被翻转,你得到的是5月,你得到31,因为24 + 7是31 ..