Что лучший способ состоит в том, чтобы вычислить различие в дате в JavaScript

Вы можете взглянуть на структуру Symja :

ExprEvaluator util = new ExprEvaluator(); 
IExpr result = util.evaluate("10-40");
System.out.println(result.toString()); // -> "-30" 

Обратите внимание, что можно определить более сложные выражения:

// D(...) gives the derivative of the function Sin(x)*Cos(x)
IAST function = D(Times(Sin(x), Cos(x)), x);
IExpr result = util.evaluate(function);
// print: Cos(x)^2-Sin(x)^2

36
задан InfoStatus 29 November 2008 в 21:04
поделиться

2 ответа

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

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

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

54
ответ дан Nathan Feger 23 September 2019 в 22:43
поделиться

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

Date.getTime()

Вы найдете полное функция JavaScript здесь , вместе с проверкой даты.

Однако как прокомментировано Rafi B. 5 лет спустя, " Получают различие между 2 датами в 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);
}
5
ответ дан Community 23 September 2019 в 22:43
поделиться
Другие вопросы по тегам:

Похожие вопросы: