У меня есть база данных, содержащая события в следующем формате:
Расписания
id
show_id
starttime - datetime
endtime - datetime
repeatuntil - datetime
repeat - int
nthdayofmonth - int
repeatmultiple - int
show_id содержит идентификационный номер шоу, которое сохраняется.
Шоу можно сохранять несколько раз для разного повторения или разных дней/времени.
starttime, endtime и repeatuntil немного очевидны в том, что они делают.
Repeat - тип повтора:
1 - hourly
2 - daily
3 - weekly
4 - monthly
5 - yearly
nthdayofmonth не уверен на 100%, нужно ли это или будет ли он использоваться Repeatmultiple, когда события нужно повторять раз в две недели или раз в месяц и так далее...
С чем я боролся, так это с кодом, который вычисляет, когда происходит следующее событие, я пробовал различные решения из Интернета и stackoverflow, но все еще борюсь. В большинстве случаев мой код зацикливается и не может определить правильную дату следующего события.
Если кто-то может помочь с кодированием функции, которая может циклически находить следующий раз, когда происходит событие, я буду очень признателен за помощь, так как я очень расстроен и не намного дальше, чем когда я начал.