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

Я работаю над сайтом на основе событий. Пользователь может создать несколько событий в течение года, и вот как работает форма.

У нас есть одно поле выбора со следующими параметрами:

  • Первый
  • Второй
  • Третий
  • Четвертый

И еще одно поле выбора с названиями дней недели.

Например, он может выбрать повторение своего события каждый «второй» «понедельник» каждого месяца в течение одного года (или более).

Теперь я ищу способ получить дату каждого второго понедельника (согласно примеру выше) с помощью PHP.

У меня есть этот код, который позволяет мне получить то, что я хочу … Но не уверен насчет отличного способа использовать его в цикле.

echo date("j, d-M-Y", strtotime("second monday 2017-11"));

Должен ли я просто зациклить и изменить год & строка месяца?

Спасибо!

0

Решение

К счастью, эта проблема уже решена. Анонсы Стандарт имеет компонент Правила повторения для обработки повторяющихся событий. Есть спецификация RFC, и есть официальная реализация PHP также. В качестве альтернативы, проверьте tplaner / Когда библиотека на GitHub.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]