You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Надо поддерживать Високосные года. Даже для корректных расчётов в рамках григорианского и юлианского календарей этой фичи не хватает.
По умолчанию будет считаться, что все года одинаковые в соответствии с заданной конфигурацией.
Для инъекции логики смещения високосных годов можно использовать два подхода.
Таким образом можно будет явно указать каков цикл високосов. Если поддерживать возможность указать переменное кол-во дней для нескольких месяцев, то это позволит задавать разнообразные параллельные циклы, что может быть интересно для конструирования разных экзотических или ритуальных календарей с простой логикой.
Инжектировать логику и конфигурацию можно следующим образом:
// other configuration'features' => [
'leapYears' =>
[
'leap' => [
'detector' => \FreeElephants\AltEra\DateInstantiator\GregorianLeapYearDetector::class,
'months' => [ // modified or provider in this leap years
[
'name' => 'Февраль',
'numberOfDays' => 29
],
],
],
'anotherLeap' => [
// second leap configuration
]
],
]
Этот формат расширяем для поддержки несколько циклов и модификации нескольких месяцев для високосных годов, либо добавления в високосном году месяца, а не дней, как например в древнегреческих календарях.
The text was updated successfully, but these errors were encountered:
Надо поддерживать Високосные года. Даже для корректных расчётов в рамках григорианского и юлианского календарей этой фичи не хватает.
По умолчанию будет считаться, что все года одинаковые в соответствии с заданной конфигурацией.
Для инъекции логики смещения високосных годов можно использовать два подхода.
Простой вариант
Покрывает требования юлианского календаря.
Таким образом можно будет явно указать каков цикл високосов. Если поддерживать возможность указать переменное кол-во дней для нескольких месяцев, то это позволит задавать разнообразные параллельные циклы, что может быть интересно для конструирования разных экзотических или ритуальных календарей с простой логикой.
Продвинутая логика
Подходит например для григорианского: https://en.wikipedia.org/wiki/Leap_year#Algorithm)
Может быть инжектирована в виде реализации примерно следующего интерфейса:
Инжектировать логику и конфигурацию можно следующим образом:
Этот формат расширяем для поддержки несколько циклов и модификации нескольких месяцев для високосных годов, либо добавления в високосном году месяца, а не дней, как например в древнегреческих календарях.
The text was updated successfully, but these errors were encountered: