11905


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

[code]

     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);
    
[/code]


CC BY-SA 3.0
2015-06-30T15:11:00.153
11903
2015-06-30T15:35:55.237
10354
question
javascript
日時の加算について


Date オブジェクトには、特定の時刻をミリ秒で表す数値が格納されます。  
なので、ミリ秒単位での加算をすればいいです。  
例えば１０．５分を加算する場合以下の様にすればいいです。

[code]

    var t = new Date();
    var b = new Date(t*1+10.5*60000);//*1で数値に変換、１分は６００００ミリ秒
    console.log(t);
    console.log(b);
    
[/code]


CC BY-SA 3.0
2015-06-30T15:32:47.767
11904
2015-06-30T15:32:47.767
5044
11903
answer


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

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

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

[code]

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


CC BY-SA 3.0
2015-06-30T15:35:55.237
11905
2015-06-30T15:35:55.237
7831
11903
answer