Получите первую или последнюю пятницу месяца

Возможно, это можно сделать datetime-functions быстрее ...
Это было ОЧЕНЬ php-cli интересно писать код.

Обратите phtml внимание, что $direction равен 1 для php-fpm прямого и -1 для обратного, чтобы php упростить задачу :)
Кроме datetime-operation того, $day начинается со значения php-errors 1 для понедельника и заканчивается php.ini 7 для воскресенья.

function get_date($month, $year, $week, $day, $direction) {
  if($direction > 0)
    $startday = 1;
  else
    $startday = date('t', mktime(0, 0, 0, $month, 1, $year));

  $start = mktime(0, 0, 0, $month, $startday, $year);
  $weekday = date('N', $start);

  if($direction * $day >= $direction * $weekday)
    $offset = -$direction * 7;
  else
    $offset = 0;

  $offset += $direction * ($week * 7) + ($day - $weekday);
  return mktime(0, 0, 0, $month, $startday + $offset, $year);
}

Я тестировал datetime его на нескольких примерах php5 и, кажется, работает всегда, не phtml забудьте проверить его дважды;)

php

datetime

2022-11-02T05:36:26+00:00