Производственные календари РФ (2023—2025) в формате JSON. Простой API для получения данных.
GET /api/calendar
curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar"
Запрос вернет массив имеющихся в наличии календарей.
{
"years": [
2023,
2024
],
"status": 200
}
GET /api/calendar/:year
curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023"
Запрос вернет объект с годом и массивом объектов месяцев.
{
"year": 2023,
"months": [
{
"id": 0,
"name": "January",
"workingDays": 17,
"notWorkingDays": 14,
"shortDays": 0,
"workingHours": 136
}
// ... Другие месяцы
],
"status": 200
}
GET /api/calendar/:year/holidays
curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023/holidays"
Возвращаются праздничные и сокращенные предпраздничные дни для конкретного года.
{
"year": 2023,
"holidays": [
{
"date": "2023-01-01T00:00:00.000Z",
"name": "Новый год"
}
// ... Другие праздники
],
"shortDays": [
{
"date": "2023-02-22T00:00:00.000Z",
"name": "День защитника Отечества"
}
// ... Другие сокращенные дни
],
"status": 200
}
GET /api/calendar/:year/:month
curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023/1"
Вернет объект месяца. Нумерация месяцев начинается с 1, а не с 0. Январь — месяц под номером 1, декабрь — под номером 12.
Объект содержит id месяца, имя, количество рабочих, нерабочих и коротких дней, а также рабочих часов при восьмичасовой рабочей неделе.
{
"year": 2023,
"month": {
"id": 0,
"name": "January",
"workingDays": 17,
"notWorkingDays": 14,
"shortDays": 0,
"workingHours": 136
},
"status": 200
}
GET /api/calendar/:year/:month/:day
curl -H "Content-Type:application/json" -X GET "https://calendar.kuzyak.in/api/calendar/2023/2/22"
Вернется объект конкретного дня.
Объект содержит информацию о месяце, точную дату, признак рабочего/нерабочего/сокращенного, название праздника, если день праздничный или предпраздничный.
{
"year": 2023,
"month": {
"name": "February",
"id": 1
},
"date": "2023-02-22T00:00:00.000Z",
"isWorkingDay": true,
"isShortday": true,
"holiday": "День защитника Отечества",
"status": 200
}
git clone https://github.com/iposho/holidays-calendar-ru.git
cd holidays-calendar-ru/
npm i
[...]
npm run dev
git clone https://github.com/iposho/holidays-calendar-ru.git
cd holidays-calendar-ru/
#При необходимости использовании Яндекс Метрики, указать в .env ID YANDEX_METRIKA_ID=
cp .env.example .env
docker build . -t holidays-calendar
docker run -p 5000:5000 holidays-calendar
#либо с использованием Яндекс Метрики
docker run -p 5000:5000 -e YANDEX_METRIKA_ID=XXX-XXX-XXX holidays-calendar
- Форкните этот репозиторий.
- Создайте ветку своей фичи (
git checkout -b my-new-feature
). - Закоммитьте изменения (
git commit -am 'Add some feature'
). - Запушьте изменения в репозиторий (
git push origin my-new-feature
). - Создайте новый пулл-реквест в ветку develop.
Это проект с открытым кодом, распространяющийся под лицензией MIT License.