Сравниваю 2 даты, всегда получаю false - почему???
currentDt = new Date();
currentDt.setHours(0,0,0,0);
reportDt = new Date(record.data.reportDt);
console.log('currentDt = ' + currentDt);
console.log('reportDt = ' + reportDt);
console.log(currentDt > reportDt);
console.log(currentDt < reportDt);
console.log(currentDt == reportDt);
console.log(currentDt === reportDt);
РЕЗУЛЬТАТ
currentDt = Sat Jun 15 2019 00:00:00 GMT+0300 (Russian Standart Time)
reportDt = Sat Jun 15 2019 00:00:00 GMT+0300 (Russian Standart Time)
false
false
false
false
ПОЧЕМУ??? Как их сравнить? Функция Ext.Date.format(reportDt, 'yyyy-mm-dd') тоже не отрабатывала, сравнивала только по числам, игнорируя месяц.
Потому что new Date();
создает объект. А объекты нельзя сравнивать вот так. Даже если они пустые, они всё равно разные и дадут false:
console.log( {} == {} );
console.log( {x: 1} == {x: 1} );
А в вашем случае, можно использовать .getTime()
который возвращает количество миллисекунд, прошедших от 01.01.1970 до установленной даты.
let currentDt = new Date();
currentDt.setHours(0,0,0,0);
let reportDt = new Date('Sat Jun 15 2019 00:00:00 GMT+0300');
console.log( typeof currentDt + ' / ' + typeof reportDt );
let x = currentDt.getTime();
let y = reportDt.getTime();
console.log('currentDt: ' + x + '\n reportDt: ' + y);
console.log(x > y);
console.log(x < y);
console.log(x == y);
console.log(x === y);
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Допустим есть определенная строка слов, через запятую
Первый день изучаю JSЗадача: спарсить курс биткоина в долларах, спарсить курс доллара в рублях, перемножить значения
Мне нужно передать поля формы get параметром, при этом группы полей например: