Получите первую или последнюю пятницу месяца
Возможно, это можно сделать 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
Получите первую или последнюю пятницу месяца
Мы используем файлы cookies для улучшения работы сайта. Оставаясь на нашем сайте, вы соглашаетесь с условиями использования файлов cookies. Чтобы ознакомиться с нашими Положениями о конфиденциальности и об использовании файлов cookie, нажмите здесь.