我有一段代码可以找到给定日期的下个月。
var d = new Date('2018-03-31');
dt = new Date(d.setMonth(d.getMonth() + 1));
document.getElementById("demo").innerHTML = dt;
但是我想知道这里有什么问题,因为它增加了一个月March
&提供May
代替April
?
样本:
var d = new Date('2018-03-31');
dt = new Date(d.setMonth(d.getMonth() + 1));
document.getElementById("demo").innerHTML = dt;

<p id="demo"></p>
&#13;
答案 0 :(得分:2)
没有31st April
所以它转到1st May
。您可以使用2018-03-30
var d = new Date('2018-03-30');
dt = new Date(d.setMonth(d.getMonth() + 1));
document.getElementById("demo").innerHTML = dt;
<p id="demo"></p>
答案 1 :(得分:2)
使用
setMonth(月,日)
href
下一个月的https://www.somescrappypage.com/x/x/x/644892 one Demo
https://www.somescrappypage.com/x/x/x/6876 two Compilation...
天
仅当您对月部分
感兴趣时
d.setMonth(d.getMonth() + 1, 1);
&#13;
1st
&#13;
答案 2 :(得分:0)
setMonth会改变原始Date对象 - 只需尝试setMonth
然后再次引用日期对象,而不是创建一个新对象:
var d = new Date('2018-03-31');
d.setMonth(d.getMonth() + 1);
document.getElementById("demo").innerHTML = d;
&#13;
<p id="demo"></p>
&#13;
答案 3 :(得分:-1)