БлогNot. PHP: последний выходной месяца

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 [2378 просмотров]


теги: программирование php дата

К этой статье пока нет комментариев, Ваш будет первым