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

このように年、月も正常に変換してくれるようになりました。

 

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です