Я пытаюсь найти лучший способ сделать следующее:
Если пользователь выберет определенный день, скажем, 21 июня 2010 года, мы будем повторять событие каждый третий понедельник каждого месяца, ноесли они выберут 28 июня 2010 года, мероприятие будет повторяться каждый последний понедельник каждого месяца.Вот как это делает календарь Google, и я пытаюсь повторить эту функцию.
Итак, в основном я вижу, что это работает примерно так: учитывая дату, получите неделю, в которой она существует, и день, когда она включена.(1-я неделя, 2-я неделя, 3-я неделя, 4-я неделя и последняя неделя.) Очевидно, иногда 4-я неделя будет последней неделей, и в этом случае я бы хотел по умолчанию установить значение на прошлой неделе.
так в psuedocode:
$repeatweek = getweeknumber($date);
$repeatday = date('l', strtotime($date));
$todaysweek = getweeknumber($todaysdate);
$todayday = date('l', strtotime($todaysdate));
if($todayday == $repeatday && $repeatweek == $todaysweek){
echo "This is the day";
}
Итак, я думаю, хитрость заключается в том, чтобы правильно определить функцию getweeknumber (), с которой у меня много времени.Особенно определяя первую и последнюю недели.