JavaScript

Исполнение скрипта по расписанию

Есть скрипт который исполняется при заходе на страницу, он делает редирект на ссылку:
<script>
window.location="ссылка";
</script>
Как дополнить код так, чтобы с определенного времени в течение суток например страница редиректила на одну ссылку, а по истечении этого срока редиректила на другую?
 var now = new Date(); 
var hour = now.getHours();
if (hour >= 9 && hour < 17) {
window.location = "ссылка1";
} else {
window.location = "ссылка2";
}
??
??????? ?????
25 860
Лучший ответ
Алексей Якименко А если мне нужно сравнить не с часами сегодняшнего дня, а заложить проверку на определенную дату?
 function redirectToPage1() { 
window.location.href = 'https://www.example.com/page1';
}

function redirectToPage2() {
window.location.href = 'https://www.example.com/page2';
}

function checkTimeAndRedirect() {
var currentTime = new Date();
var hours = currentTime.getHours();

if (hours >= 8 && hours < 12) {
// Если текущее время между 8:00 и 12:00, редирект на страницу 1
redirectToPage1();
} else if (hours >= 12 && hours < 16) {
// Если текущее время между 12:00 и 16:00, редирект на страницу 2
redirectToPage2();
}
}

// Запускаем функцию каждые 1 минуту (можете настроить период по желанию)
var intervalId = setInterval(checkTimeAndRedirect, 60000); // 60000 миллисекунд = 1 минута

// Остановка выполнения редиректов, если это необходимо
/*
if (someCondition) {
clearInterval(intervalId);
}
*/
<script>
// Получаем текущее время
var now = new Date();
// Устанавливаем время начала и окончания периода для первой ссылки
var startTime = new Date();
startTime.setHours(8); // Начало периода (например, 8 утра)
startTime.setMinutes(0);
startTime.setSeconds(0);
var endTime = new Date();
endTime.setHours(16); // Окончание периода (например, 4 вечера)
endTime.setMinutes(0);
endTime.setSeconds(0);

// Проверяем, находимся ли мы в первом периоде времени
if (now >= startTime && now < endTime) {
// Если да, выполняем редирект на первую ссылку
window.location = "первая_ссылка";
} else {
// В противном случае, выполняем редирект на вторую ссылку
window.location = "вторая_ссылка";
}
</script>
Алексей Якименко Сработало но на 2-ю ссылку, а должно было на 1-ю:

<script>
// Получаем текущее время
var now = new Date();
// Устанавливаем время начала и окончания периода для первой ссылки
var startTime = new Date(03/09/2023);
startTime.setHours(0);
startTime.setMinutes(0);
startTime.setSeconds(0);
var endTime = new Date(03/09/2023);
endTime.setHours(23);
endTime.setMinutes(0);
endTime.setSeconds(0);

// Проверяем, находимся ли мы в первом периоде времени
if (now >= startTime && now < endTime) {
// Если да, выполняем редирект на первую ссылку
window.location = " первая ";
} else {
// В противном случае, выполняем редирект на вторую ссылку
window.location = "вторая";
}
</script>