Все статьи
Интересности4 августа 2026 г.4 мин

Почему календарь устроен так странно

Откуда взялись месяцы разной длины, високосные годы и правила гражданского календаря. Практические шаги, частые ошибки и короткий чек-лист.

Д
Даниил
CEO

Почему календарь устроен так странно

Откуда взялись месяцы разной длины, високосные годы и правила гражданского календаря.

Короткий ответ

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

Почему месяцы разной длины

Месяцы прошли через несколько реформ римского календаря. Их длины — историческое наследие, а не результат простой астрономической формулы, поэтому равномерной схемы не получилось.

Как работают високосные годы

Обычно год високосный, если делится на 4. Годы, делящиеся на 100, пропускают дополнительный день, кроме тех, что делятся на 400. Поэтому 2000 год был високосным, а 1900 — нет.

Что это значит для кода

«Через месяц» нельзя надёжно представить фиксированным числом секунд. Используйте календарные операции библиотеки, явно определяйте поведение для конца месяца и отделяйте календарную дату от точного момента.

Что учитывать на практике

  • Используйте календарные библиотеки.
  • Не прибавляйте месяц как фиксированное число дней.
  • Проверяйте конец месяца.
  • Учитывайте локальный календарный контекст.

История времени полезна разработчику именно потому, что привычные часы и календарь состоят из соглашений, исключений и меняющихся правил. Для production-кода используйте поддерживаемые библиотеки и проверяйте граничные даты отдельно.

Источники и дополнительное чтение

Итог

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