我试图从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
。应该是少了一个月,额外的月份会增加到哪里?
答案 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 ..