私は2つのDateオブジェクトを取得しており、時間差を計算したいと思います。2つの日付オブジェクトの時間差を取得するにはどうすればよいですか?
時間の差が18時間未満の場合は、日付オブジェクトを配列にプッシュしたいと思います。
Javascript/jQueryは本当に重要ではありません。最高の作品は何をしますか?
私は2つのDateオブジェクトを取得しており、時間差を計算したいと思います。2つの日付オブジェクトの時間差を取得するにはどうすればよいですか?
時間の差が18時間未満の場合は、日付オブジェクトを配列にプッシュしたいと思います。
Javascript/jQueryは本当に重要ではありません。最高の作品は何をしますか?
最も簡単な方法は、日付オブジェクトを互いに直接減算することです。例えば
:
var hours = Math.abs(date1 - date2)/36e5;
減算は、ミリ秒単位で2つの日付の間の差を返します。 36e5
は60*60*1000
の科学的表記法で、ミリ秒の差を時間に換算することで除算します。
私の技術者は、 '36e5'の代わりに' 3.6e6'([正規化された科学記法](http://en.wikipedia.org/wiki/Scientific_notation))が好きです。しかし、本の読者は「360000」を好むだろう。 – Blazemonger
彼自身にそれぞれ。 – Boaz
この短いと作業コードありがとうBoaz –
日付オブジェクトにvalueOf
を呼び出すことによって、あなたが得るタイムスタンプを使用します。
var diff = date2.valueOf() - date1.valueOf();
var diffInHours = diff/1000/60/60; // Convert milliseconds to hours
を使用してgetTime
(mdn doc)を試してみてください。
var diff = Math.abs(date1.getTime() - date2.getTime())/3600000;
if (diff < 18) { /* do something */ }
Math.abs()
を使用して、我々が最小となる日付がわかりません。このコードは、おそらくより関連性があります。
var diff = (date1 - date2)/3600000;
if (diff < 18) { array.push(date1); }
この質問は、http://stackoverflow.com/questions/3224834/get-difference-between-2-dates-in-javascriptでは回答されませんでした。 OPは具体的に言う:時間をつかむ(日ではない)。 –