Задать вопрос
@RomanGorbatko
PHP, Python, NodeJS, Swift

Как выстроить повторения в менеджере упоминаний?

Всем привет!
Собственно, тема к обсуждению.

Как выстроить повторения упоминания (1 день, 3 дня, неделя) без указанной конечной даты?

Первый и самый простой вариант - заполнить базу значениями на 100 лет вперед, например. Я думаю, это решение абсолютно избыточно. + нужно в календаре мониторить эти упоминания, т.е., перейдя на этот же день следующего года, например, я должен увидеть оставленное мною упоминание.
  • Вопрос задан
  • 135 просмотров
Подписаться 1 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 3
He11ion
@He11ion
PHP-monkey
Тупо ищем остаток от деления номера дня(часа, минуты, етс) на нужный период
Ответ написан
@ShamblerR
Ау..ть господа.
DATE=`date +%u'
вам официальный вариант день недели не устроит 1-7
Ответ написан
date (start_date, delta_time)

вывод уведомлений

узнаем остаток от деления между прощедщим временем и периодом

(time()-start_date)%delta_time

если ровно 0 значит сейчас ровно тот момент когда должно произойти напоминание

для реальной работы нужно сравнивать не с 0 а какимто диапазоном

например если результат 56 значит прошло 56 секунд с того момента как нужно было запустить напоминание

conf_if_time=1800;

в итоге :
if((time()-start_date)%delta_time < conf_if_time or (time()-start_date)%delta_time > delta_time-conf_if_time) {

// то что нужно

}

вообщем как это все оформить в sql подумайте сами. вроде должно все работать
Ответ написан
Комментировать
Ваш ответ на вопрос

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

Похожие вопросы