Как мне определить n-й день недели по данной дате в php - PullRequest
3 голосов
/ 12 июня 2009

Я работаю над сценарием календаря, где мне нужно повторить событие календаря, как «Повторять каждый первый вторник каждого месяца»

В приведенном выше примере. Как вы получаете "1-й"?

например, сегодня 12 июня 2009 года, это будет означать, что это «вторая пятница июня». Как мне получить «2-е»?

Заранее спасибо

Ответы [ 2 ]

16 голосов
/ 12 июня 2009

Разделите на 7 и округлите:

ceil(date('j') / 7);
3 голосов
/ 12 июня 2009

Это работает:

<?php

$date = date('Y-m-d', mktime(0, 0, 0, date('m'), 1, date('y')));

echo date('Y-m-d', strtotime($date.'next tuesday'));

?>

Первая строка создает дату первого дня этого месяца. Вторая строка получает следующий вторник от $ date.

Вы можете сделать гораздо больше, см. дата и mktime и strtotime .

...