Вы можете взглянуть на структуру 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
Используйте объект Даты как так:
function DateDiff(var /*Date*/ date1, var /*Date*/ date2) {
return date1.getTime() - date2.getTime();
}
Это возвратит количество различия в миллисекундах между этими двумя датами. Преобразовывая его в секунды, минуты, часы и т.д. не должны быть слишком трудными.
Если Вы следуете за этим учебное руководство , один путь состоит в том, чтобы использовать:
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);
}