if (hours === 10 || (hours === 11 && minutes < 30)) {
// 1
} else if ((hours === 11 && minutes >= 30) || hours === 12) {
// 2
}
Но проще вычислить даты для контрольных точек и сравнивать текущее время с ними:
function createDate(hours, minutes) {
const d = new Date();
d.setHours(hours);
d.setMinutes(minutes);
return d;
}
const time1 = createDate(10, 0).getTime();
const time2 = createDate(11, 30).getTime();
const time3 = createDate(13, 0).getTime();
const now = Date.now();
if (now >= time1 && now < time2) {
// 1
} else if (now >= time2 && now < time3) {
// 2
}
Ну и так же стоит учитывать, что считать это все будет в часовом поясе пользователя, если же нужны вычисления независимые от часового пояса, то стоит использовать методы setUTCHours и setUTCMinutes со смещениями нужного часового пользователя относительно UTC (Лондона) ну или getUTCHours/getUTCMinutes для первого варианта.