Tilda
August 25, 2023

Автоматическая смена даты на tilda

В нужном вместе впишем шорткод {date}

Добавим скрипт в блок T123

<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script>
$(document).ready(function() {
    let timezone = "Europe/Moscow"; // Часовой пояс

    function getMoscowTime() {
        return new Date(new Date().toLocaleString("en-US", { timeZone: timezone }));
    }

    function formatDate(date) {
        const monthNames = ['Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря'];
        return `${date.getDate()} ${monthNames[date.getMonth()]}`;
    }

    function updateDate() {
        let now = getMoscowTime();
        let targetTime = getMoscowTime();
        targetTime.setHours(13, 30, 0, 0); // Время смены 13:30

        let displayDate = formatDate(now);

        if (now >= targetTime) {
            let nextDay = new Date(now);
            nextDay.setDate(nextDay.getDate() + 1); // Устанавливаем завтрашний день
            displayDate = formatDate(nextDay);
        }

        function replaceDatePlaceholder(newDate) {
            $("body *").contents().each(function() {
                if (this.nodeType === 3) {
                    this.nodeValue = this.nodeValue.replace(/{date}/g, newDate);
                }
            });
        }

        replaceDatePlaceholder(displayDate);
        console.log("Дата обновлена на:", displayDate);
    }

    updateDate(); // Запуск при загрузке страницы
    setInterval(updateDate, 60 * 1000); // Проверка каждую минуту
});
</script>





Данный скрипт будет менять дату в 13:30 по МСК

Не забудьте поменять в скрипте время смены даты

Смена даты по расписанию

<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script>
<script>
$(document).ready(function() {
    let dateArray = [
        ['2023-12-05', '5 декабря 2023'],
        ['2023-12-06', '6 декабря 2023'],
        ['2023-12-27', '27 декабря 2023'],
        ['2024-01-05', '5 января 2024']
    ];

    let timezone = "Europe/Moscow"; // Укажи нужный часовой пояс
    let currentDate = new Date(new Date().toLocaleString("en-US", { timeZone: timezone }));
    let currentTime = currentDate.getTime();
    let targetTime = new Date(currentDate);
    targetTime.setHours(13, 30, 0, 0);

    let selectedDate = dateArray[0][1];

    for (let i = 0; i < dateArray.length; i++) {
        let checkDate = new Date(dateArray[i][0]);
        if (checkDate >= currentDate) {
            selectedDate = dateArray[i][1];

            if (currentTime >= targetTime.getTime() && i + 1 < dateArray.length) {
                selectedDate = dateArray[i + 1][1];
            }
            break;
        }
    }

    function replaceDatePlaceholder(newDate) {
        $("body *").contents().each(function() {
            if (this.nodeType === 3) {
                this.nodeValue = this.nodeValue.replace(/{date}/g, newDate);
            }
        });
    }

    replaceDatePlaceholder(selectedDate);
});
</script>

Популярные часовые пояса

Часовой пояс Значение (UTC) Город / Регион

UTC UTC±00:00 Всемирное координированное время

Europe/Moscow UTC+03:00 Москва, Санкт-Петербург

Europe/Kiev UTC+02:00 Киев

Asia/Tokyo UTC+09:00Токио, Япония

Asia/Dubai UTC+04:00Дубай, ОАЭ

America/New_York UTC−05:00Нью-Йорк, США

America/Chicago UTC−06:00Чикаго, США

America/Los_Angeles UTC−08:00Лос-Анджелес, США

Europe/London UTC±00:00 (зимой) / UTC+01:00 (летом) Лондон, Великобритания

Europe/Berlin UTC+01:00 (зимой) / UTC+02:00 (летом) Берлин, Германия

Asia/Hong_Kong UTC+08:00Гонконг

Asia/Singapore UTC+08:00Сингапур

Australia/Sydney UTC+10:00 (зимой) / UTC+11:00 (летом) Сидней, Австралия


Часовые пояса для России

Часовой пояс UTC Города

Europe/Kaliningrad UTC+02:00Калининград

Europe/Moscow UTC+03:00Москва, Санкт-Петербург

Europe/Samara UTC+04:00 Самара, Ульяновск

Asia/Yekaterinburg UTC+05:00 Екатеринбург, Челябинск

Asia/Omsk UTC+06:00 Омск, Новосибирск

Asia/Krasnoyarsk UTC+07:00Красноярск, Томск

Asia/Irkutsk UTC+08:00Иркутск, Улан-Удэ

Asia/Yakutsk UTC+09:00Якутск, Благовещенск

Asia/Vladivostok UTC+10:00Владивосток, Хабаровск

Asia/Magadan UTC+11:00Магадан, Сахалин

Asia/Kamchatka UTC+12:00Петропавловск-Камчатский

📢 Подписывайтесь на мой Telegram-канал, чтобы не пропускать новые полезные подборки и лайфхаки по GetCourse и чат-ботам!