Поиск…
Сравнение значений даты
Чтобы проверить равенство значений Date
:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1.valueOf() === date2.valueOf());
Пример вывода:
false
Обратите внимание, что вы должны использовать valueOf()
или getTime()
для сравнения значений объектов Date
потому что оператор равенства будет сравнивать, если две ссылки на объекты одинаковы. Например:
var date1 = new Date();
var date2 = new Date();
console.log(date1 === date2);
Пример вывода:
false
Если переменные указывают на один и тот же объект:
var date1 = new Date();
var date2 = date1;
console.log(date1 === date2);
Пример вывода:
true
Однако другие операторы сравнения будут работать как обычно, и вы можете использовать <
и >
для сравнения того, что одна дата была раньше или позже другой. Например:
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 10);
console.log(date1 < date2);
Пример вывода:
true
Он работает, даже если оператор включает в себя равенство:
var date1 = new Date();
var date2 = new Date(date1.valueOf());
console.log(date1 <= date2);
Пример вывода:
true
Вычисление разницы по дате
Чтобы сравнить разницу двух дат, мы можем провести сравнение, основанное на отметке времени.
var date1 = new Date();
var date2 = new Date(date1.valueOf() + 5000);
var dateDiff = date1.valueOf() - date2.valueOf();
var dateDiffInYears = dateDiff/1000/60/60/24/365; //convert milliseconds into years
console.log("Date difference in years : " + dateDiffInYears);
Modified text is an extract of the original Stack Overflow Documentation
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow