Incrementing the date in javascript does not work as expected.
The functionality worked well before but I do not know why it is not working now.
Actual Result:
Tue Apr 30
Wed May 01
Sat Jun 01
Wed Jul 03
Sat Aug 03
Wed Sep 04
Sun Oct 06
Expected:
Tue Apr 30
Wed May 01
Thu May 02
Fri May 03
Sat May 04
Sun May 05
Mon May 06
var dt = new Date();
var nextDay = new Date(dt);
nextDay.setDate(dt.getDate() + 1);
document.getElementById("datetime1").innerHTML = ("0" + nextDay).substring(1, 12);
nextDay.setDate(dt.getDate() + 2);
document.getElementById("datetime2").innerHTML = ("0" + nextDay).substring(1, 12);
nextDay.setDate(dt.getDate() + 3);
document.getElementById("datetime3").innerHTML = ("0" + nextDay).substring(1, 12);
nextDay.setDate(dt.getDate() + 4);
document.getElementById("datetime4").innerHTML = ("0" + nextDay).substring(1, 12);
nextDay.setDate(dt.getDate() + 5);
document.getElementById("datetime5").innerHTML = ("0" + nextDay).substring(1, 12);
nextDay.setDate(dt.getDate() + 6);
document.getElementById("datetime6").innerHTML = ("0" + nextDay).substring(1, 12);
nextDay.setDate(dt.getDate() + 7);
document.getElementById("datetime7").innerHTML = ("0" + nextDay).substring(1, 12);
nextDay.setDate(dt.getDate() + 8);
pre {
display: block;
unicode-bidi: embed;
font-family: monospace;
white-space: pre;
}
<pre id="datetime1"></pre>
<pre id="datetime2"></pre>
<pre id="datetime3"></pre>
<pre id="datetime4"></pre>
<pre id="datetime5"></pre>
<pre id="datetime6"></pre>
<pre id="datetime7"></pre>
var nextDay = new Date(dt);is not a reliable way to clone a date. It works/worked on some JavaScript engines and not others. To reliably clone a date, use the milliseconds-since-The-Epoch value fromgetTime(or a unary+):var nextDay = new Date(dt.getTime());orvar nextDay = new Date(+dt);- T.J. Crowder