PHPackages                             yakoffka/airac-cycle-dates-for-laravel - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. yakoffka/airac-cycle-dates-for-laravel

Abandoned → [https://github.com/yakoffka/AIRAC-calc](/?search=https%3A%2F%2Fgithub.com%2Fyakoffka%2FAIRAC-calc)Library[Utility &amp; Helpers](/categories/utility)

yakoffka/airac-cycle-dates-for-laravel
======================================

Laravel package for calculate AIRAC cycles

0.2.5(1y ago)015MITPHPPHP ^8.0

Since Feb 8Pushed 1y ago1 watchersCompare

[ Source](https://github.com/yakoffka/AIRAC-calc)[ Packagist](https://packagist.org/packages/yakoffka/airac-cycle-dates-for-laravel)[ RSS](/packages/yakoffka-airac-cycle-dates-for-laravel/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependencies (4)Versions (15)Used By (0)

Библиотека для расчетов циклов AIRAC для фреймворка Laravel
===========================================================

[](#библиотека-для-расчетов-циклов-airac-для-фреймворка-laravel)

Общие сведения
--------------

[](#общие-сведения)

AIRAC - система заблаговременного уведомления об изменениях аэронавигационных данных по единой таблице дат вступления их в силу.

AIRAC - Aeronautical Information Regulation And Control (Регламентирование и контроль аэронавигационной информации). Один год содержит 13, реже 14 (1976, 1998 и 2020) циклов AIRAC.

Библиотека учитывает високосные года, но не учитывает регионы, в которых действует время вступления в силу, отличное от UTC.

ПРЕДОСТЕРЕЖЕНИЕ: Результаты вычислений корректны только для дат текущего столетия.

Установка
---------

[](#установка)

```
composer require yakoffka/airac-calc

```

Использование
-------------

[](#использование)

Пакет предоставляет четыре метода, принимающих в качестве необязательного аргумента дату в строковом представлении ('Y-m-d') $dateString:

- getCycleDay(?string $dateString): int (от 1 до 28) - получение номера дня в цикле AIRAC для переданной даты;
- getCurrentCycle(?string $dateString): string - получение идентификатора текущего цикла AIRAC для переданной даты;
- getPrevCycle(?string $dateString): string - получение идентификатора цикла AIRAC, предшествующего текущему для переданной даты.
- getNextCycle(?string $dateString): string - получение идентификатора цикла AIRAC, следующего за текущим для переданной даты.

При отсутствии параметра расчет ведется относительно текущей даты.

### примеры использования с указанием даты:

[](#примеры-использования-с-указанием-даты)

```
$date = \Carbon\Carbon::createFromDate(2023, 2, 8);

AiracCalc::getCycleDay($date);         //  14
AiracCalc::getCurrentCycle($date);     //  "2301"
AiracCalc::getPrevCycle($date);        //  "2213"
AiracCalc::getNextCycle($date);        //  "2302"

```

### примеры использования без указания даты:

[](#примеры-использования-без-указания-даты)

```
AiracCalc::getCycleDay();               //  14
AiracCalc::getCurrentCycle();           //  "2301"
AiracCalc::getPrevCycle();              //  "2213"
AiracCalc::getNextCycle();              //  "2302"

```

Также пакет предоставляет два метода, принимающих обязательный строковый параметр с идентификатором цикла AIRAC:

- getPrevByAirac(?string $airac): string - получение идентификатора цикла AIRAC, предшествующего переданному.
- getNextByAirac(?string $airac): string - получение идентификатора цикла AIRAC, следующего за переданным.

### примеры использования:

[](#примеры-использования)

```
AiracCalc::getPrevByAirac('2301');       //  "2302"
AiracCalc::getNextByAirac('2301');       //  "2213"

```

Метод getNumberCyclesPerYear(?string $year) \[доступен с версии 0.2.1\]
-----------------------------------------------------------------------

[](#метод-getnumbercyclesperyearstring-year-доступен-с-версии-021)

Получение количества циклов AIRAC в указанном (по умолчанию - в текущем) году

### примеры использования:

[](#примеры-использования-1)

```
AiracCalc::getNumberCyclesPerYear('2020'); //  14
AiracCalc::getNumberCyclesPerYear('2021'); //  13

```

Метод isValidCycle(string $cycle) \[доступен с версии 0.2.1\]
-------------------------------------------------------------

[](#метод-isvalidcyclestring-cycle-доступен-с-версии-021)

Метод, проверяющий корректность номера цикла AIRAC

### примеры использования:

[](#примеры-использования-2)

```
AiracCalc::isValidCycle('0001');       //  true
AiracCalc::isValidCycle('2302');       //  true
AiracCalc::isValidCycle('2300');       //  false
AiracCalc::isValidCycle('234v');       //  false

```

Дополнительный метод showEffectiveDates() \[доступен с версии 0.0.4\]
---------------------------------------------------------------------

[](#дополнительный-метод-showeffectivedates-доступен-с-версии-004)

Пакет предоставляет также дополнительный метод showEffectiveDates(), который выводит календарь циклов на запрошенный период

### пример использования:

[](#пример-использования)

```
// в качестве необязательных параметров данный метод принимает строки начала и конца требуемого интервала

AiracCalc::showEffectiveDates('2023-01-01', '2024-01-01');

```

результатом выполнения будет вывод всех дат начала циклов, входящих в данный интервал:

```
          2020 year
        2001 2020-01-02
        2002 2020-01-30
        2003 2020-02-27
        2004 2020-03-26
        2005 2020-04-23
        2006 2020-05-21
        2007 2020-06-18
        2008 2020-07-16
        2009 2020-08-13
        2010 2020-09-10
        2011 2020-10-08
        2012 2020-11-05
        2013 2020-12-03
        2014 2020-12-31

          2021 year
        2101 2021-01-28
        2102 2021-02-25
        2103 2021-03-25
        2104 2021-04-22
        2105 2021-05-20
        2106 2021-06-17
        2107 2021-07-15
        2108 2021-08-12
        2109 2021-09-09
        2110 2021-10-07
        2111 2021-11-04
        2112 2021-12-02
        2113 2021-12-30

          2022 year
        2201 2022-01-27
        2202 2022-02-24
        2203 2022-03-24
        2204 2022-04-21
        2205 2022-05-19
        2206 2022-06-16
        2207 2022-07-14
        2208 2022-08-11
        2209 2022-09-08
        2210 2022-10-06
        2211 2022-11-03
        2212 2022-12-01
        2213 2022-12-29

          2023 year
        2301 2023-01-26
        2302 2023-02-23
        2303 2023-03-23
        2304 2023-04-20
        2305 2023-05-18
        2306 2023-06-15
        2307 2023-07-13
        2308 2023-08-10
        2309 2023-09-07
        2310 2023-10-05
        2311 2023-11-02
        2312 2023-11-30
        2313 2023-12-28

          2024 year
        2401 2024-01-25
        2402 2024-02-22
        2403 2024-03-21
        2404 2024-04-18
        2405 2024-05-16
        2406 2024-06-13
        2407 2024-07-11
        2408 2024-08-08
        2409 2024-09-05
        2410 2024-10-03
        2411 2024-10-31
        2412 2024-11-28
        2413 2024-12-26

```

### источники

[](#источники)

- [Aeronautical Information Publication](https://en.wikipedia.org/wiki/Aeronautical_Information_Publication#AIRAC_effective_dates_(28-day_cycle)).

###  Health Score

26

—

LowBetter than 43% of packages

Maintenance33

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity48

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~43 days

Recently: every ~88 days

Total

12

Last Release

715d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/2bf2ffbf704a699046395ac551b46d2ed9d4e549cc614983ef76c66c9497a24f?d=identicon)[yakoffka](/maintainers/yakoffka)

---

Top Contributors

[![yakoffka](https://avatars.githubusercontent.com/u/33991092?v=4)](https://github.com/yakoffka "yakoffka (36 commits)")

---

Tags

airac424laravel

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/yakoffka-airac-cycle-dates-for-laravel/health.svg)

```
[![Health](https://phpackages.com/badges/yakoffka-airac-cycle-dates-for-laravel/health.svg)](https://phpackages.com/packages/yakoffka-airac-cycle-dates-for-laravel)
```

###  Alternatives

[ashallendesign/short-url

A Laravel package for creating shortened URLs for your web apps.

1.4k1.9M4](/packages/ashallendesign-short-url)[solspace/craft-freeform

The most flexible and user-friendly form building plugin!

52664.9k12](/packages/solspace-craft-freeform)[intervention/zodiac

Zodiac Sign Calculator

58191.7k](/packages/intervention-zodiac)[erlandmuchasaj/laravel-gzip

Gzip your responses.

40129.3k2](/packages/erlandmuchasaj-laravel-gzip)[solspace/craft-calendar

The most powerful event management and calendaring plugin!

1830.8k1](/packages/solspace-craft-calendar)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
