在javascript中查找给定日期的下个月

mps*_*hat 3 javascript datetime date

我有一段代码可以找到给定日期的下个月。

var d = new Date('2018-03-31');
dt = new Date(d.setMonth(d.getMonth() + 1));
document.getElementById("demo").innerHTML = dt;
Run Code Online (Sandbox Code Playgroud)

但我想知道这里有什么问题,因为它增加了一个月March& 给May而不是April?

演示:

var d = new Date('2018-03-31');
dt = new Date(d.setMonth(d.getMonth() + 1));
document.getElementById("demo").innerHTML = dt;
Run Code Online (Sandbox Code Playgroud)
var d = new Date('2018-03-31');

dt = new Date(d.setMonth(d.getMonth() + 1));
document.getElementById("demo").innerHTML = dt;
Run Code Online (Sandbox Code Playgroud)

yog*_*rji 5

setMonth(月,日)

d.setMonth(d.getMonth() + 1, 1);其中一天1st的日下一月份

仅当您对Month部分感兴趣时

var d = new Date('2018-03-31');

d.setMonth(d.getMonth() + 1, 1);

dt = new Date(d);
document.getElementById("demo").innerHTML = dt;
Run Code Online (Sandbox Code Playgroud)
<p id="demo"></p>
Run Code Online (Sandbox Code Playgroud)