Не знаю почему if не выполняется,скажите почему?

let topka = new Promise(function(resolve, reject){
  let date = new Date();

  let num18 = new Date();
  num18.setHours(18 ,0);

  let num8 = new Date();
  num8.setHours(8 ,0);

  if(num8 <  date.getHours() && date.getHours() < num18){
  console.log('Идёт загрузка данных...');
  setTimeout(() => {
    resolve('Данные загружены успешно');
  }, 2000);
  }else{
    console.log("Сервер не работает");
    reject("Данные не загружены, произошла ошибка");
  }
})

topka.then(date => console.log(date))

    .catch(err => console.log(err))

    .finally(() => console.log('А я просто finally'))

В if должно быть true потому что время больше 8 ,0


Ответы (1 шт):

Автор решения: gil9red

Сравнивайте один тип с другим, например Date с Date:

if (num8 < date && date < num18) {

Тут num8 < date.getHours() сравнивает Date с int

→ Ссылка