Tilda
August 25, 2023
Автоматическая смена даты на tilda
В нужном вместе впишем шорткод {date}
<script> document.addEventListener('DOMContentLoaded', function () { // Функция для получения следующей даты function getNextDate() { const today = new Date(); const tomorrow = new Date(today); tomorrow.setDate(today.getDate() + 1); return tomorrow; } // Функция для форматирования даты в "15 Ноября" с возможностью изменения названия месяца function formatDate(date, monthNames) { const day = date.getDate(); const month = monthNames[date.getMonth()]; return `${day} ${month}`; } // Функция для замены текста с шорткодом {date} function replaceDate() { const targetTime = new Date(); targetTime.setHours(13, 30, 0); // Устанавливаем желаемое время (13:30) // Если текущее время больше или равно заданному времени, переходим к следующему дню if (new Date() >= targetTime) { const nextDate = getNextDate(); const monthNames = ['Января', 'Февраля', 'Марта', 'Апреля', 'Мая', 'Июня', 'Июля', 'Августа', 'Сентября', 'Октября', 'Ноября', 'Декабря']; const formattedDate = formatDate(nextDate, monthNames); // Находим все элементы с текстом {date} и заменяем их document.body.innerHTML = document.body.innerHTML.replace(/\{date\}/g, formattedDate); } } // Вызываем функцию при загрузке страницы replaceDate(); }); </script>
Данный скрипт будет менять дату в 13:30 по МСК
Не забудьте поменять в скрипте время смены даты
<script src="https://code.jquery.com/jquery-3.6.4.min.js"></script> <script> $(document).ready(function() { // Создаем список дат формата Y-M-D let dateArray = [ ['2023-12-05', '5 декабря 2023'], ['2023-12-06', '6 декабря 2023'], ['2023-12-27', '27 декабря 2023'], ['2024-01-05', '5 января 2024'] ]; let currentDate = new Date(); let currentHour = currentDate.getHours(); // Если текущее время больше или равно 13:30, то сменяем на следующую дату if (currentHour >= 13 && currentDate.getMinutes() >= 30) { let nextDate = getNextDate(currentDate, dateArray); replaceDatePlaceholder(nextDate); } else { // Если текущее время меньше 13:30, о��тавляем текущую дату replaceDatePlaceholder(dateArray[0][1]); } function getNextDate(currentDate, dateArray) { for (let i = 0; i < dateArray.length; i++) { let checkDate = new Date(dateArray[i][0]); if (checkDate > currentDate) { return dateArray[i][1]; } } // Если не найдено, вернуть последнюю дату return dateArray[dateArray.length - 1][1]; } function replaceDatePlaceholder(newDate) { // Заменяем шорткод в тексте $('body').html(function (index, oldHtml) { return oldHtml.replace(/{date}/g, newDate); }); } }); </script>