3. Какой день является високосным?
Это 24 февраля!
Странно? Да! Объяснение связано с римским календарем, вы найдете его в разделе 7.1.
Если рассматривать числа, то конечно, дополнительный день — это 29 февраля. Однако если рассматривать праздничные дни, то традиционно используется следующее соотношение между днями високосных и не високосных годов:
Обычный год | Високосный год |
22 февраля | 22 февраля |
23 февраля | 23 февраля |
24 февраля (дополнительный день) | |
24 февраля | 25 февраля |
25 февраля | 26 февраля |
26 февраля | 27 февраля |
27 февраля | 28 февраля |
28 февраля | 29 февраля |
Например, день святого Леандра отмечается 27 февраля в обычные годы и 28 февраля в високосные годы.
Во многих странах високосный день постепенно переносится с 24 на 29 число. Это влияет на такие страны, как Швеция и Австрия, в которых отмечаются «именные дни» (т.е. каждый день связан с именем).
4. Что такое солнечный цикл?
В юлианском календаре соотношение между днями недели и датами повторяется с циклом в 28 лет. В григорианском календаре это верно для периодов, в которые не входят годы с номерами, кратными 100 но не кратными 400.
Период в 28 лет называется солнечным циклом. Солнечное число (SN) года с номером Year можно найти так:
В юлианском календаре существует однозначное соответствие между солнечным числом и днем недели, на который приходится определенная дата.
(Цикл високосных лет в григорианском календаре — 400 лет, что составляет 146097 дней, это число, как ни удивительно, кратно 7. Поэтому в григорианском календаре эквивалент «солнечного цикла» — это 400 лет, а не 7 x 400 = 2800 =лет, как можно подумать.)
5. Каким днем недели было 2 августа 1953 г.?
Чтобы вычислить, на какой день недели приходится некоторая дата, можно использовать следующий алгоритм (все деления целочисленные, остаток не учитывается; номер года — Year, месяца — Month, дня — Day):
a = 14 – Month/12 | |
y = Year – a | |
m = Month + 12a – 2 | |
Для юлианского календаря: | d = (5 + Day + y + y/4 + 31m/12) mod 7 |
Для григорианского календаря: | d = (Day + y + y/4 – y/100 + y/400 + 31m/12) mod 7 |
Значения d — 0 для воскресенья, 1 для понедельника, и т.д.
Упражнение : в какой день недели родился автор?
Мой день рождения — 2 августа 1953 г. (разумеется, по григорианскому календарю).
a = 14–8/12 = 0
y = 1953 – 0 = 1953
m = 8 + 12x0 – 2 = 6
d = (2+1953+1953/4–1953/100+1953/400+31x6/12) mod 7 = (2+1953+488–19+4+15) mod 7 = 2443 mod 7 = 0
Я родился в воскресенье.
6. Когда я смогу снова использовать мой календарь на 1992 год?
Давайте предположим, что нас интересует только, какие даты приходятся на определенные дни недели; нас не интересуют даты Пасхи и других перемещающихся праздников.
Также ограничимся интервалом 1901–2099 гг.
С этими ограничениями ответ таков:
• Если год Х является високосным, календарь можно вновь использовать в году Х+28.