JavaScript: 日付や時間の差を計算する
日付や時間の差を求めたい場合は、getTime()メソッドでタイムスタンプを取得し、 タイムスタンプの差を計算します。
日付の差を計算する
変数d1、d2に適当な日時を入れて、差を計算してみます。
var d1 = new Date('2017/01/05 12:15:20');
var d2 = new Date('2016/12/15 01:09:02');
var diffTime = d1.getTime() - d2.getTime();
var diffDay = Math.floor(diffTime / (1000 * 60 * 60 * 24));
console.log(diffDay); // 21
getTime()メソッドで取得したタイムスタンプはミリ秒単位です。 これを日数にするためには「1000 * 60 * 60 * 24」で割る必要があります。
割った値の少数点以下を切り捨てるためにMath.floor()メソッドを使います。
秒の差を計算する
秒の差を求める場合はタイムスタンプの差を「1000」で割ります。
var d1 = new Date('2017/07/20 01:09:55');
var d2 = new Date('2017/07/20 01:09:03');
var diffTime = d1.getTime() - d2.getTime();
var diffSecond = Math.floor(diffTime / (1000));
console.log(diffSecond); // 52