Download the PHP package webmasterskaya/production-calendar without Composer
On this page you can find all versions of the php package webmasterskaya/production-calendar. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download webmasterskaya/production-calendar
More information about webmasterskaya/production-calendar
Files in webmasterskaya/production-calendar
Package production-calendar
Short Description Production calendar of Russian Federation
License (MIT or GPL-3.0-or-later)
Informations about the package production-calendar
Производственный календарь
PHP библиотека, которая определяет рабочие, праздничные, выходные и нерабочие дни, в соответствии с производственным календарём Российской Федерации 2013-2025гг
Данные предоставлены сайтом http://www.consultant.ru/
- ✔ Работает оффлайн
- ✔ Автономный (базу можно актуализировать самостоятельно)
- ✔ База весит меньше 5 КБ
- ✔ Не тянет зависимости
- ✔ Максимально документированный код
Начало использования
Добавьте пакет в зависимости проекта
Как работает
Класс Calendar
реализует паттерн singletone
. Любой вызов статичного метода приводит к инициализации экземпляра класса, если он ещё не был инициализирован. Все последующие вызовы будут работать с этим экземпляром.
Проверка дат осуществляется перемещением внутреннего указателя. При инициализации класса, указатель устанавливается на дату, переданную в аргументах метода.
Если аргумент даты равен null
, то указатель не смещается и используется последнее его положение.
Проверить текущее положение указателя можно, вызвав метод date()
:
Основные понятия
- Рабочий день (
isWorking() === true
) - день, в который однозначно работают. - Выходной день (
isWeekend() === true
) - день, в который однозначно не работают (праздник, суббота и воскресение, кроме рабочих суббот). - Праздничный день (
isHoliday() === true
) - день, в который однозначно никто не работает, т.к. это праздник (Новый Год, День Победы). - Предпраздничный день (
isPreHoliday() === true
) - день, в который продолжительность работы сокращается на один час. - Нерабочий день (
isNoWorking() === true
) - в 2020 году появилось новое определение "Нерабочий день". Нерабочие дни введены в соответствии с Указами Президента РФ от 25.03.2020 N 206, от 02.04.2020 N 239, от 28.04.2020 N 294, от 29.05.2020 N 345, от 23.04.2021 N 242
Примеры использования
В примерах использования используются следующие аргументы:
$date
(null|string|int|\DateTime) - дата, на которую будет установлен указатель.- При значении
null
проверка будет осуществляться от последней даты под курсором. Если под курсором нет даты, проверка начнётся от текущей даты. - При передаче даты, как
string
, необходимо использовать корректный формат даты. Пояснение даёт раздел «Форматы даты и времени».
- При значении
$weekend
(array) - Массив с номерами дней, которые считаются выходными (0 - воскресенье, 6 - суббота). По умолчанию:[6, 0]
.$format
(string) - Формат результирующей строки даты. Подробнее: https://www.php.net/manual/datetime.format.php. По умолчанию:Y-m-d
Варианты объявления $date
:
Проверка конкретной даты
Является ли день рабочим
Является ли день праздничным
Является ли день предпраздничным
Является ли день не рабочим
Поиск по дате
Найти ближайший рабочий день, за указанной датой.
Найти ближайший выходной день, за указанной датой.
Найти ближайший предпраздничный день, за указанной датой.
Найти ближайший нерабочий день, за указанной датой.
Получить список дат
Получить список всех выходных дней за указанный промежуток дат
Получить список всех рабочих дней за указанный промежуток дат
Получить список всех нерабочих дней за указанный промежуток дат
Получить список всех предпраздничных дней за указанный промежуток дат
Описание методов класса Updater
Обновить данные за указанный год
Обновить все данные, начиная с 2013 года и до текущего
Обновление справочника дат
All versions of production-calendar with dependencies
ext-curl Version *
ext-json Version *
ext-dom Version *
ext-libxml Version *