@sergeiy_permyakov

Как задать условия для промежутков времени в js?

Использую такой код
var
                    now = new Date(),
                    hour = now.getHours(),
                    minute = now.getMinutes(),

Подскажите правильно ли я прописал условия для промежутко времени

1. с 09.00 до 10.59
if (hour <= 9 && minute <= 59);

2. 11.00 до 16.59
(hour <= 17 && hour >= 11 )

Остальное время 17.00 до 23.59. Или кто-то подскажет как правильно прописать сравнение с текущим временем если сейчас на часах:

- с 00.00 до 08.59
- с 09.00 до 10.59
- с 11.00 до 16.59
- 17.00 до 23.59
  • Вопрос задан
  • 458 просмотров
Решения вопроса 1
@risejs
let hhmm = new Date().toLocaleTimeString('ru', { hour: '2-digit', minute: '2-digit' });

if ('00:00' <= hhmm && hhmm <= '08:59') {}
if ('09:00' <= hhmm && hhmm <= '10:59') {}
if ('11:00' <= hhmm && hhmm <= '16:59') {}
if ('17:00' <= hhmm && hhmm <= '23:59') {}

// или

     if ('00:00' <= hhmm && hhmm <= '08:59') {}
else if ('09:00' <= hhmm && hhmm <= '10:59') {}
else if ('11:00' <= hhmm && hhmm <= '16:59') {}
else if ('17:00' <= hhmm && hhmm <= '23:59') {}

// или (рекомендую)

     if (hhmm <= '08:59') {}
else if (hhmm <= '10:59') {}
else if (hhmm <= '16:59') {}
else if (hhmm <= '23:59') {}
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 3
moryachello
@moryachello
Всего понемножку, много не бывает.
Ты проверяешь конкретные минуты или всё-таки интервал времени?
будет достаточно, например С 9:00 до 10:59
if (hour >= 9 && hour <= 10) {
  // код, который нужно выполнить в этот промежуток времени
}


а если все же нужно проверять конкретные минуты то можно так
if (hour === 9 && minute >= 0 || hour === 10 && minute <= 59) {
  // код, который нужно выполнить в этот промежуток времени
}
Ответ написан
Комментировать
dollar
@dollar
Делай добро и бросай его в воду.
1) с 09.00 до 10.59
(hour >= 9 && hour < 11)

2) с 11.00 до 16.59
(hour >= 11 && hour < 17)
Ответ написан
Комментировать
@LD12
let nowTime = new Date();
let h = +nowTime.getHours() * 60;
let m = +nowTime.getMinutes();
let currentTime = h + m;

const condition1 = {
hourFrom: 0,
minuteFrom: 0,
hourTo: 8,
minuteTo: 59,
start1: function(){
return Number(this.hourFrom * 60 + this.minuteFrom)
},
end1: function(){
return Number(this.hourTo * 60 + this.minuteTo)
}
}

if (condition1.start1() <= currentTime || currentTime >= condition1.end1()) {
// код, для выполнения в этом промежутке времени!
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы