Код не работает, потому что при сравнении дат необходимо сравнивать всю дату, а не только ее части.Вы можете получить текущий год из экземпляра Date, а затем использовать его для создания предельных дат для сравнения, например,
function testDate(date) {
var year = new Date().getFullYear();
return date >= new Date(year, 10, 1) && // 1 Nov current year
date <= new Date(year + 1, 1, 11) - 1; // 10 Feb next year at 23:59:59.999
}
// Some tests
[new Date(2018,9,31), // 31 Oct 2018
new Date(2018,10,1), // 1 Nov 2018
new Date(2019,1,10), // 10 Feb 2018
new Date(2019,1,11), // 11 Feb 2018
new Date()] // Current date
.forEach(function(date) {
console.log(date.toLocaleString(undefined, {day: '2-digit',
month:'short', year:'numeric'}) + ': ' + testDate(date));
});
Все вышеперечисленные даты считаются локальными для хоста.