javascript 日時が何時間以内であるかを判定する

javascript 日時が何時間以内であるかを判定する

javascriptで、日時が何時間以内であるかを判定するサンプルコードを記述してます。日時の差分を絶対値で取得することで判定できます。

環境

  • OS windows11 pro 64bit
  • Apache 2.4.43
  • ブラウザ chrome 109.0.5414.75

日時が何時間以内であるかを判定

日時が何時間以内であるかを判定するには、差分を絶対値で取得して時間単位で比較して判定します。

function isBetweenHour(now, exDay, num) {

  // 差分を絶対値で取得
  const days = Math.abs(exDay.getTime() - now.getTime());

  // 日単位に変換
  const betweenHours = days / (60 * 60 * 1000);

  return betweenHours < num;

}

let exDay = new Date('2022-10-17 12:34:56');

// 現在日時
const now = new Date();

console.log(now);
// Mon Oct 17 2022 12:12:11 GMT+0900 (日本標準時)

console.log(isBetweenHour(now, exDay, 10)); // true

exDay = new Date('2022-10-17 23:34:56');

console.log(isBetweenHour(now, exDay, 10)); // true

exDay = new Date('2022-10-24');

console.log(isBetweenHour(now, exDay, 10)); // false

ちなみに、関数は頑張れば1行で記述することができます。

const isBetweenDate = (x,y,n) => Math.abs(y.getTime() - x.getTime()) / 3600000 < n;