Nodeでchart.jsなグラフのために日付計算したらハマってしまった..その後
グラフのために連続した日にちが欲しくて、当初setDateを利用して1日づつカウントアップすることをやっていました。
でも、月をまたぐとそれが崩れてしまう現象に遭遇。。(こちらを参照して下さい)
それでどうしたものかとやっていました。
結局getTime / setTimeで。。
結局のところ、日付を数値に変換して、1日分づつ加算していく方法で対処しました。
let dtx = new Date('2017-12-27');
let vDateTime = dtx.getTime();
let vWidth = ( 1000 * 60 * 60 * 24 );
let dtx1 = new Date();
for( let i = 0; i < 7; i++ ) {
vDateTime += vWidth;
dtx1.setTime( vDateTime );
vNowYear = dtx1.getFullYear();
vNowMonth = ( '0' + (dtx1.getMonth()+1) ).slice(-2);
vNowDay = ( '0' + dtx1.getDate() ).slice(-2);
strYMD = vNowYear + '-' + vNowMonth + '-' + vNowDay;
console.log( " ymd:" + strYMD );
}
こうすることで
ymd:2017-12-28
ymd:2017-12-29
ymd:2017-12-30
ymd:2017-12-31
ymd:2018-01-01
ymd:2018-01-02
ymd:2018-01-03
このように年、月も正常に変換してくれるようになりました。