Vextor-ltd
@Vextor-ltd
Webdeveloper

Как автоматически увеличивать количество дней на JavaScript?

Есть готовый скрипт, в котором задаётся время, скажем, промоушен акции, в секундах (Unix Timestamp) – время действия акции. Необходимо сделать так, чтобы по прошествии, скажем, 10 дней, это значение инкрименировалось + 10 дней и так до бесконечности, типа как если бы по cron-у выполнялся скрипт, который бы каждые 10 дней увеличивал время ещё на 10 дней.

Я мог бы написать такое на PHP и повесить на крон скрипт, который бы запускался раз в 10 дней и писал в файл новую дату, а потом бы при запуске DOM-а с клиента делал бы запрос к этому файлу и доставал дату. Но такое решение представляется мне избыточным.

Подскажите, пожалуйста, как подойти к решению данной задачи именно на JavaScript?
  • Вопрос задан
  • 78 просмотров
Решения вопроса 1
twobomb
@twobomb
let dateStart = new Date("2021-03-01 12:00:00");//Дата  с которой начался отсчет
let daysDelay = 10;//Количество дней акции
let msDelay = 1000*60*60*24*daysDelay;//Количество дней акции в мс
let now = Date.now();//Сейчас
let nextDate = new Date(dateStart.getTime()+Math.ceil((now - dateStart.getTime())/msDelay)*msDelay);//Искомая следующая дата
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@MikUrrey
Попробуйте поэкспериментировать с целым остатком от деления.
Например, так:
let remain = Math.round((new Date).getTime()/1000)%(24*3600*10);
//и с remain работать дальше
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы