ray88’s diary

お仕事で困ったとき用の自分用の覚書

JavaScript Dateオブジェクト 日時の演算と複製

JavaScript 目次 - ray88’s diary
JavaScript Dateオブジェクト - ray88’s diary
JavaScript Dateオブジェクトの主なメンバー① - ray88’s diary
■日時の計算
・Dateオブジェクトでは日時の演算子をするメソッドはない
・Dateオブジェクトの演算を行う場合には以下のステップが必要
 step1:Dateオブジェクトから必要な要素を取得する
 step2:取得した要素で数値演算を行う
 step3:計算結果をDateオブジェクトに設定する
【サンプルコード】
 Dateオブジェクトから120分後を表すDateオブジェクトを作る
 注意点
 定数endの代入は [const end = start] とした場合、オブジェクトの代入は参照値の代入のため、
 定数startと定数endが同じオブジェクトを参照することになってしまう。
 new演算子を用いて新たなDateオブジェクトをコピーとして生成するようにする

function myFunction(){
  const start = new Date('2020/5/5 23:00');
  //元のDateオブジェクト(start)の複製をendとする
  const end = new Date(start);

  //startの分に120分を加算し、endにセットする
  end.setMinutes(start.getMinutes() + 120);

  console.log(start);//Tue May 05 2020 23:00:00 GMT+0900(日本標準時間)
  console.log(end);//Tue May 06 2020 01:00:00 GMT+0900(日本標準時間)
}