Какой лучший способ рассчитать разницу дат в Javascript

Я выполняю функцию в Javascript, например, VisualBasic DateDiff.

Вы даете две даты и интервал времени возврата (секунды, минуты, дни и т.д.)

DateDiff(ByVal Interval As Microsoft.VisualBasic.DateInterval, _
  ByVal Date1 As Date, ByVal Date2 As Date) as Long

Итак, что лучший способ рассчитать разницу в датах Javascript?

Ответ 1

Используйте объект Date так:

function DateDiff(var /*Date*/ date1, var /*Date*/ date2) {
    return date1.getTime() - date2.getTime();
}

Это вернет число разницы в миллисекундах между двумя датами. Преобразование его в секундах, минутах, часах и т.д. Не должно быть слишком сложным.

Ответ 2

Если вы выполните этот учебник, один из способов:

Date.getTime()

Здесь вы найдете полную функцию javascript в комплекте с проверкой даты.

Говоря, как прокомментировал Rafi B. 5 лет спустя, Получите разницу между двумя датами в javascript? "более точно.

var _MS_PER_DAY = 1000 * 60 * 60 * 24;

// a and b are javascript Date objects
function dateDiffInDays(a, b) {
  // Discard the time and time-zone information.
  var utc1 = Date.UTC(a.getFullYear(), a.getMonth(), a.getDate());
  var utc2 = Date.UTC(b.getFullYear(), b.getMonth(), b.getDate());

  return Math.floor((utc2 - utc1) / _MS_PER_DAY);
}