PHP 5.3 DateTime для повторяющихся событий

У меня есть приложение календаря, которое использует более новые классы PHP DateTime. У меня есть способ справиться с повторяющимися событиями, но это кажется взломанным, и я хотел посмотреть, есть ли у вас, ребята, лучшие идеи:

У меня есть повторяющееся событие, которое начинается 16.11.2009 (16 ноября 2009 г.)Это будет происходить каждые 3 дняСобытие будет повторяться бесконечно

Позволять'Например, пользователь просматривает календарь на 31 декабря - это событие должно отображаться там каждые три дня, как обычно. Вопрос в том, как рассчитать эти дни в этом месяце.

=========================================

Вот как я это делаю, но знаю, чтом упускаю что то проще:

Я рассчитываю разницу в днях между началом просматриваемого месяца (1 декабря 3100 г.) и датой начала события (16 ноября 2009 г.), хранящимся в виде $ daysDiffЯ вычитаю модуль, так что я получаю коэффициент 3 дня с начала, как это: $ daysDiff - ($ daysDiff% 3)Ради аргумента давайте скажем, что дает мне 29 ноября 3100 в качестве даты.Затем я добавляю 3 дня к этой дате несколько раз, пока у меня не будут все даты в течение 31 декабря

Моя основная проблема связана с шагом 1. Функция PHP DateInterval :: date_diff не рассчитывает разницу в днях. Это даст мне годы, месяцы и дни. Затем я должен придумать цифры, чтобы получить приблизительную дату около 31 декабря. 16.11.2009 + (1090 лет * 365,25 дней) + (9 месяцев * 30,5 дней) + 15 дней

Когда вы по-настоящему продвигаетесь в будущее, например, в 9999 году, эта оценка может быть отклонена на месяц, тогда мне нужно вычесть много 3-дневных интервалов, чтобы добраться туда, где мне нужно.

Ответы на вопрос(2)

Ваш ответ на вопрос