Наша календарная методология
Наш календарный движок объединяет детерминированные астрономические и религиозные алгоритмы с непрерывной проверкой на основе первичного государственного законодательства и нормативных актов.
1. Детерминированный мультикалендарный движок
Государственные праздники по всему миру подчиняются различным математическим и культурным системам. Наш конвейер моделирует четыре основных календарных механизма:
Фиксированные даты по григорианскому календарю: Национальные праздники и исторические годовщины, приходящиеся на фиксированные календарные даты (например, 4 июля, 1 января).
Астрономические и равноденственные расчеты: Солнцестояния, равноденствия и солнечные термины, рассчитанные по точным небесным координатам.
Лунные и лунно-солнечные календари: исламский календарь Хиджры, китайский Лунный Новый год, Дивали и буддийские праздники, рассчитанные с помощью стандартных моделей видимости фаз Луны и проверенные по прокламациям национальных религиозных авторитетов.
Алгоритмы Computus: западные (григорианские) и восточные православные (юлианские) пасхальные циклы и зависящие от них переходящие праздники (Страстная пятница, Вознесение, Духов день, Тело и Кровь Христовы).
2. Законодательство и официальные декреты
Математические модели дают сырые даты, но законы определяют законный отдых. Мы сверяем каждое рассчитанное событие с первоисточниками права: национальными трудовыми кодексами, парламентскими актами, официальными государственными вестниками и исполнительными указми.
Там, где стандартные библиотеки пропускают законодательные реформы или используют устаревшие правила, наш реестр ручных переопределений (data/holiday-overrides.ts) применяет проверенные законодательные исправления.
3. Перенос дней и моделирование смещения выходных
Одним из важнейших аспектов планирования праздников является определение того, что происходит, когда официальный праздник совпадает с выходным днем.
Наш движок систематически кодирует национальные компенсационные правила: автоматический перенос на следующий понедельник (например, в Великобритании, Австралии, США), перенос на предшествующую пятницу или правила ближайшего рабочего дня (например, в Албании, Южной Африке), обеспечивая точный подсчет рабочих дней.
4. Непрерывный аудит законодательства и регрессионное тестирование
Календарь каждой страны подвергается автоматизированной валидации снимков (npm run holidays:validate:snapshots) для предотвращения регрессий, в то время как наш конвейер непрерывного мониторинга отслеживает вновь принятые законы, разовые банковские праздники и королевские или президентские указы по всему миру.