Динамическая дата для страницы регистрации на автовебинар

Динамическая дата для страницы регистрации на автовебинар

Прилетела задача: на странице регистрации на автовебинар сделать динамическую дату, которая будет автоматически меняться после наступления определённого времени.

Поиск готовых решений дал только скрипт, который автоматически менял дату после наступления 00:00 по Москве, а нужно было менять после 18:15, т. к. автовеб начинается в 19 часов. Т. е. после 18:15 должна проставляться дата следующего дня.

Код:

var months = ['января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря'];

//Здесь в строке с if меняем часы и минуты. После этого времени дата меняется
var now = new Date();
if (now.getHours() > 18 && now.getMinutes() > 15) {
  now.setDate(now.getDate() + 1);
}
   
var date = now.getDate();

//В конце строки вписываем время начало автовебинара
var textout = date + ' ' + months[now.getMonth()] + ' 19:00 МСК';

//В кавычках задаём класс элемента, в котором будет выводиться дата и время. Помните, что скрипт в коде страницы должен находиться ниже тега, в котором будет вывод.
document.querySelector(".webinar-date").textContent = textout;

Основа скрипта была найдена на StackOverflow, а знакомый разработчик помог добавить проверку по времени.

Код подойдёт для любого сайта и конструктора, в котором можно вставить HTML-блок или блок JavaScript. В том числе Tilda и другие. Возможно, придётся поэкспериментировать с местом выведения даты и времени.

Также учитывайте, что время скрипт берёт серверное. Если ваш сервер в другом часовом поясе, нужно будет прибавить или убавить часы в строке проверки времени:

var now = new Date();
if ((now.getHours() + 2) > 19 && now.getMinutes() > 15) {
  now.setDate(now.getDate() + 1);
}
Подписаться
Уведомить о
guest

0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии