日時の加算について

投稿者: Anonymous

現在時刻から任意の時間を加算する方法について
現在時刻に任意の数字を加算し、取り出したいです。また日付の繰り上げなどもさせたいです
以下のようにすると数字が大きくなると取り出した時に時間がおかしくなります
いいやり方などあれば教えて下さい、よろしくお願いします。

 var time = new Date();
 var a = 10.5
 time.setMinutes(time.getMinutes()+a);

 var b = time.getMonth();
 var c = time.getDate();
 var d = time.getHours();
 var e = time.getMinutes();
 console.log(time);
 console.log(b);
 console.log(c);
 console.log(d);
 console.log(e);

解決

こういうことでしょうか。

  • 現在時刻に、分単位 (ただし10.5分など、分未満の単位もある) で時刻を加算したい。
  • 現在の分 + 加算したい値を、現在時刻を表す Date オブジェクトに Date.prototype.setMinutes しても
    • 少数点以下の数が扱えない。
    • 加算結果が 60 を超える場合を扱えない。

もし、そうなら、Date.now() に望みの値を加算したものを引数にして Date オブジェクトを作るのが簡単です。

var a = 10.5; // 10分半 -> 60000 倍することでミリ秒単位の値になる。
var time = new Date(Date.now() + a * 60000);

console.log(time)
回答者: Anonymous

Leave a Reply

Your email address will not be published. Required fields are marked *