Поиск…


Сравнение значений даты

Чтобы проверить равенство значений 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