2016-08-18 11 views
1

に時間を追加します。私は日時に1.5時間を追加したいのDateTime

var date = new Date('08/18/2016 19:00:00'); 

date.setHours(date.getHours() + 1.5); 

期待される結果:

date = 08/18/2016 20:30:00; 

しかし、私は持っている:

date = 08/18/2016 20:00:00; 

なぜ、どのようにこれを行う?

+3

[Javasに時間を追加する]の可能な複製criptのDateオブジェクト?](http://stackoverflow.com/questions/1050720/adding-hours-to-javascript-date-object) –

+0

@MehdiDehghani:その質問とその答えは分数時間ではなく、時間を問わずです。 –

+1

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date/setHours: '時間を表す0〜23の整数** 'だから、すべてRTFM。 –

答えて

4

なぜですか?

setHoursは小数値を受け入れないためです。 follow through the specの場合は、ToIntegerの操作で時間値が実行され、.5がオフになります。

これを行う方法?

setHours実際に追加の引数として分(および秒と、このような)を受け付けます。

date.setHours(date.getHours() + 1, date.getMinutes() + 30); 

代わりに、あなたはそれらを個別に行うことができます。

date.setHours(date.getHours() + 1); 
date.setMinutes(date.getMinutes() + 30); 

またはミリ秒を:

date.setTime(date.getTime() + (1.5 * 60 * 60 * 1000)); 
+0

はい、動作します! –

関連する問題