У меня есть база данных событий, которые являются «статическими» (в определенный день) и «повторяющимися» (начиная с определенного дня, но устанавливаются как «повторяющиеся» каждую неделю или каждую другую неделю). Я понимаю, что должны быть интервалы в 7 и 14, но я не знаю, как добраться до этой точки, чтобы найти дату> сегодня и выплюнуть ее.
поэтому пример;
Я хочу найти следующие предстоящие повторяющиеся события и выплюнуть их соответствующие даты. Боковое замечание: данные, которые я застрял в работе, находятся в строках (я знаю, я знаю) Ymd, поэтому 20150821 будет 21 августа 2015 года.
если сегодня было 21 августа 2015 года, и будет повторяющееся событие для «Каждой другой пятницы», начиная с 7 августа, это будет +14, который доставит вас сегодня, в пятницу 21 августа.
Но скажите, что один из них «каждую среду», начиная с 19 августа, я хочу получить дату в среду, 26 августа, и выплюнуть это.
Это нужно будет работать в бесконечных датах в будущем, так как даты начала никогда не меняются.
Поэтому, запуская сценарий 1 января 2016 года, мне нужно знать, что следующая «Каждая среда» была 6 января 2016 года.
псевдокод:
if(start_date < today_date) { // start date is in the past add recurring_inverval to start_date until result >= today_date echo result } elseif(start_date > today_date { // start date is in the future echo start_date }
это добавление до х, которое я потерял. не знаете, как это сделать в инструкции if.
также не уверен, что это лучший способ сделать это. Я знаю, что PHP также может выполнять сложные строки и преобразовывать их в дату. как "в следующую субботу"