Как узнать день недели
Короткий ответ
Формат N возвращает номер дня: 1 — понедельник, 7 — воскресенье:
<?php
$date = new DateTimeImmutable('2025-01-30');
echo $date->format('N');Результат:
4Название
Формат l даёт английское название:
<?php
echo (new DateTimeImmutable('2025-01-30'))->format('l');Результат:
ThursdayПо-русски
Возьмите название из своего массива по номеру дня:
<?php
$days = [1 => 'понедельник', 'вторник', 'среда', 'четверг', 'пятница', 'суббота', 'воскресенье'];
echo $days[(int) (new DateTimeImmutable('2025-01-30'))->format('N')];Результат:
четвергВыходной ли это
Суббота и воскресенье имеют номера 6 и 7:
<?php
var_dump((new DateTimeImmutable('2025-02-01'))->format('N') >= 6);Результат:
bool(true)Функции из этого ответа
- date — Форматирует дату и время.
- DateTimeImmutable — Объект даты и времени, который нельзя изменить: каждое действие возвращает новый объект.