Как проверить, выходной ли день
Короткий ответ
Символ N возвращает номер дня недели: 1 — понедельник, 7 — воскресенье:
<?php
function isWeekend(string $date): bool
{
return (new DateTimeImmutable($date))->format('N') >= 6;
}
var_dump(isWeekend('2026-03-14'));
var_dump(isWeekend('2026-03-16'));Результат:
bool(true)
bool(false)Ближайший рабочий день
Выражение weekday пропускает субботу и воскресенье:
<?php
$friday = new DateTimeImmutable('2026-03-13');
echo $friday->modify('+1 weekday')->format('l, Y-m-d');Результат:
Monday, 2026-03-16Функции из этого ответа
- date — Форматирует дату и время.
- DateTimeImmutable — Объект даты и времени, который нельзя изменить: каждое действие возвращает новый объект.
- in_array — Проверяет, есть ли значение в массиве.