PHP: последний выходной месяца
Просто ещё одна небольшая задачка с датами на PHP. Нужно определить, когда в указанному году и месяце наступит последнее воскресенье (или другой день недели).
Ниже прилагается скрипт, печатающий список последних воскресений в каждом месяце текущего года.
<?php function last_friday_of_month ($year, $month, $weekday) { $day = 0; //Счётчик дней с конца месяца while (true) { $last_day = mktime(0, 0, 0, $month+1, $day, $year); if (date("w", $last_day) == $weekday) return date ("Y-m-d", $last_day); $day -= 1; } } date_default_timezone_set ('Asia/Novosibirsk'); //http://ru2.php.net/manual/ru/timezones.php $year = date('Y'); //Берём текущий год $weekday = 0; //Воскресенье, см. http://php.net/manual/ru/function.date.php foreach(range(1, 12) as $month) { echo last_friday_of_month($year, $month, $weekday), '<br>'; } ?>
Вот что напечаталось в браузер для 2018 года:
2018-01-28 2018-02-25 2018-03-25 2018-04-29 2018-05-27 2018-06-24 2018-07-29 2018-08-26 2018-09-30 2018-10-28 2018-11-25 2018-12-30
16.09.2018, 11:49 [2668 просмотров]