Вечный календарь — это календарь, действительный в течение многих лет, обычно предназначенный для поиска дня недели для заданной даты в прошлом или будущем.
Для григорианского и юлианского календарей вечный календарь обычно состоит из одного из трех основных вариантов:
Такой вечный календарь не может указать даты подвижных праздников, таких как Пасха , которые рассчитываются на основе комбинации событий тропического года и лунных циклов. Эти вопросы очень подробно рассматриваются в вычислительной технике .
Ранний пример вечного календаря для практического использования можно найти в Nürnberger Handschrift GNM 3227a . Календарь охватывает период 1390–1495 гг. (на этом основании рукопись датирована ок. 1389 г.). Для каждого года этого периода указано количество недель между Рождеством и Пятидесятисимой . Это первый известный экземпляр вечного календаря табличной формы, позволяющий рассчитывать передвижные праздники, ставшие популярными в 15 веке. [5]
В офисах и торговых заведениях часто выставляют устройства, содержащие набор элементов для формирования всех возможных чисел от 1 до 31, а также названия/сокращения месяцев и дней недели, чтобы показывать текущую дату для удобства людей, которые могут подписывать и датировать документы, такие как чеки . Учреждения, продающие алкогольные напитки, могут использовать вариант, в котором указан текущий месяц и день, но за вычетом разрешенного возраста употребления алкоголя в годах, что указывает на последнюю официальную дату рождения для покупок алкоголя. Обычное устройство состоит из двух кубиков в держателе. Один кубик содержит цифры от нуля до пяти. На другом изображены цифры 0, 1, 2, 6 (или 9, если перевернуты), 7 и 8. Этого достаточно, поскольку только один и два могут появиться дважды в дате, и они находятся на обоих кубах, в то время как 0 находится на обоих кубах. кубы, чтобы все однозначные даты можно было отображать в двузначном формате. Помимо двух кубов, на длинных гранях трех блоков, каждый из которых по ширине равен двум кубам вместе взятым, а третий – такой же высоты и глубины, напечатаны названия месяцев. Текущий месяц переворачивается вперед в переднем блоке, а остальные два месяца - позади него.
Некоторые календарные реформы были названы вечными календарями, поскольку их даты ежегодно фиксируются в одни и те же дни недели. Примерами являются Всемирный календарь , Международный фиксированный календарь и Календарь Pax . Технически это не вечные календари, а многолетние календари . Их цель, в частности, состоит в том, чтобы устранить необходимость в вечных календарных таблицах, алгоритмах и вычислительных устройствах.
В часовом деле «вечный календарь» означает календарный механизм, который правильно отображает дату на часах « постоянно», принимая во внимание различную длину месяцев, а также високосные годы. Внутренний механизм переведет циферблат на следующий день. [6]
Вечные календари используют алгоритмы для вычисления дня недели для любого года, месяца и дня месяца. Несмотря на то, что отдельные операции в формулах могут быть очень эффективно реализованы в программном обеспечении, они слишком сложны для большинства людей, чтобы выполнить все арифметические действия в уме. [7] Разработчики вечных календарей скрывают сложность таблиц, чтобы упростить их использование.
Вечный календарь использует таблицу , позволяющую определить, какой из четырнадцати годовых календарей использовать. Таблица григорианского календаря отражает его 400-летний большой цикл: 303 обычных года и 97 високосных лет в сумме составляют 146 097 дней, или ровно 20 871 неделя. Этот цикл распадается на один 100-летний период с 25 високосными годами, что составляет 36 525 дней, или один день меньше 5 218 полных недель; и три 100-летних периода по 24 високосных года каждый, что составляет 36 524 дня, или на два дня меньше 5 218 полных недель.
Внутри каждого 100-летнего блока циклический характер григорианского календаря протекает так же, как и его предшественника, юлианского: невисокосный год начинается и заканчивается в один и тот же день недели, поэтому следующий год начнется в следующий последующий день календаря. неделя. Високосный год имеет еще один день, поэтому год, следующий за високосным, начинается со второго дня недели после начала високосного года. Каждые четыре года начальный день недели сдвигается на пять дней вперед, поэтому за 28-летний период он увеличивается на 35, возвращаясь на одно и то же место как в прогрессии високосного года, так и в начале дня недели. Этот цикл завершается три раза за 84 года, оставляя 16 лет в четвертом, неполном цикле столетия.
Основным усложняющим фактором при построении алгоритма вечного календаря является своеобразная и переменная продолжительность февраля, который когда-то был последним месяцем года, в результате чего первые 11 месяцев с марта по январь имеют пятимесячный повторяющийся шаблон: 31, 30 , 31, 30, 31, ..., чтобы можно было легко определить смещение от марта начального дня недели для любого месяца. Сравнение Целлера , известный алгоритм поиска дня недели для любой даты, явно определяет январь и февраль как «13-й» и «14-й» месяцы предыдущего года, чтобы воспользоваться этой закономерностью, но зависимость от месяца расчет все еще очень сложен для ментальной арифметики:
Вместо этого вечный календарь на основе таблиц предоставляет простой механизм поиска для нахождения смещения дня недели для первого дня каждого месяца. Чтобы упростить таблицу, в високосном году январь и февраль должны либо рассматриваться как отдельный год, либо иметь дополнительные записи в таблице месяцев:
Следующий календарь работает для любой даты, начиная с 15 октября 1582 года, но только для дат по григорианскому календарю.
Как использовать этот календарь
Этот календарь используется для определения того, на какой день приходится дата. Он применим для юлианских дат до 1999 года и григорианских дат до 2399 года.
Пример: На какой день григорианского календаря выпало 16 сентября 1963 года?
Найдите порядковый номер, соответствующий 16 в разделе ДАТА и сентябрю в разделе МЕСЯЦ. Число 7 . Затем найдите индексный номер, который соответствует 19 в строках григорианского века и 63 в столбцах года. Число 2 . Теперь добавьте первый порядковый номер ко второму порядковому номеру: 7 + 2 = 9 . Наконец, найдите день, соответствующий номеру 9 , в таблице ИНДЕКС НОМЕР/ДЕНЬ. День понедельник . Следовательно, 16 сентября 1963 года приходится на понедельник .