Это должно быть возможно с strtotime
. Вы можете попытаться сгенерировать метку времени первого дня марта, используя mktime()
и добавив ее в качестве второго параметра (оставив только «первое воскресенье» в строковой части):
$timestamp = mktime (0,0,0,3,1,2010); // 1st of march
$first_sunday = strtotime("first sunday", $timestamp);
Не уверен, как с этим справится первый день (1 марта), который фактически является воскресеньем. Не забудьте проверить это.
Также, и, возможно, это более надежно, отметьте это - на плакате написано, что он добился хороших результатов со следующими обозначениями (цитата):
<?php
strtotime('+0 week sun nov 2009'); // first sunday in nov 2009
strtotime('+1 week sun nov 2009'); // second sunday
strtotime('-1 week sun nov 2009'); // last sunday in oct 2009
?>
Как всегда в strtotime, что бы вы ни выбрали, убедитесь, что вы хорошо тестируете, особенно в крайних случаях (1-й день месяца - воскресенье, последний день прошлого месяца - воскресенье ....)