Старый новый

Меня удивляет, что некоторые люди не знают что такое «Старый Новый год». Нет, я не про существование самого праздника, а про то как он появился. Я об этом узнал ещё в школе, на уроках истории, и хотя историю я не любил, тем не менее, этот факт запомнил, правда тогда мне рассказали о нём в весьма упрощённой трактовке.

Все знают, что год у нас равен 365 и 366 дням, в зависимости от високосности. В високосный год в феврале есть 29-й день, который корректирует накопившуюся ошибку, так как проложительность года на самом деле не кратна суткам.

Ещё есть високосная секунда, о чём знают горазно меньше людей, но обязаны знать программисты, так как время от времени в минуте бывает 61 секунда. Например, через четыре дня, 30 июня, на часах, которые смогут это показать, будет 23:59:60.

В общем, когда-то, ещё до революции был у нас так называемый юлианский календарь, где год равнялся 365,25 дням. Т.е. каждые четыре года вводился дополнительный день, но оказалось, что этой поправки недостаточно и за сотни лет накопилась солидная ошибка.

Поэтому ему на смену пришёл более точный григорианский календарь, где год составляет 365,2425 суток, а накопившуюся ошибку просто добавили к текущей дате в момент перехода. Даты после принятия григорианского календаря называют «по новому стилю», до — «по старому стилю».

Каждые 128 лет в прежнем календаре накапливалась ошибка в один день. В России переход состоялся в 1918 году и накопившаяся ошибка составила 13 дней, после 31 января в этом году шло сразу 14 февраля, в этот момент и родился «Старый Новый год», который отмечается до сих пор, тем более, что РПЦ новый календарь не приняла и продолжает встречать все праздники по старому календарю.

Для меня в этой истории важно следующее.

Когда я занялся историей своей семьи, быстро столкнулся с датами «по старому стилю». Например, мой прадед Феодор Николаевич Старостин родился 9 августа по старому стилю, что соответствует 22 числу по новому. А вот что было для меня новостью (и что мне не рассказали в школе), что разница между старым и новым стилем не постоянна.

Вообще, это логично, конечно, если об этом задуматься — ведь ошибка копилась со временем. Например, даты от 29 февраля 1900 года до 1 марта 1800 года сдвигаются уже на 12 дней (в Википедии есть табличка). То есть даты рождения моего прапрадеда, Николая Феодоровича Старостина (1870 год) или его супруги, Анастасии (Юстины) Евдокимовны Меркуловой (1873) нужно сдвинуть на 12 дней.
26 июня 2012 09:14

drucha (инкогнито)
26 июня 2012, 11:34

после 31 января в этом году шло сразу 14 февраля
Наверное все-таки 14 января

bolk (bolknote.ru)
26 июня 2012, 11:36, ответ предназначен drucha

Спасибо, опечатался. Поправил.

Sergey Cheban (sergey-cheban.livejournal.com)
26 июня 2012, 11:50, ответ предназначен bolk (bolknote.ru):

после 31 января в этом году шло сразу 14 января
Наверное, не после 31 января, а после 31 декабря. :-)

Кирилл (инкогнито)
26 июня 2012, 12:37, ответ предназначен bolk (bolknote.ru):

Евгений, у вас было правильно.
Из Википедии: "В России григорианский календарь введён в 1918 году декретом Совнаркома, согласно которому в 1918 году после 31 января следовало 14 февраля."

Роман Баранов (инкогнито)
26 июня 2012, 12:42

И ещё вот здесь, кажется, наоборот должно быть:
Даты до принятия григорианского календаря называют «по новому стилю», после — «по старому стилю».

Mopsicus (mopsicus.ru)
26 июня 2012, 12:57

блин, не знал про "ошибку" в 13 дней, спасибо )

bolk (bolknote.ru)
26 июня 2012, 13:27, ответ предназначен Роману Баранову

И ещё вот здесь, кажется, наоборот должно быть…
О, спасибо, не заметил, глупая ошибка.

Записки (on-trail.livejournal.com)
26 июня 2012, 13:39

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

bolk (bolknote.ru)
26 июня 2012, 13:45, ответ предназначен Записки (on-trail.livejournal.com):

Конечно должны. Многие программы считают, что время 23:59:60 — ошибка. А это не так.

bolk (bolknote.ru)
26 июня 2012, 13:50, ответ предназначен drucha

Наверное все-таки 14 января
А нет, всё правильно было. Вернул назад.

Кирилл Зорин (инкогнито)
26 июня 2012, 14:41, ответ предназначен bolk (bolknote.ru):

Евгений, а как вы относитесь к тому, что многие языки программирования и базы данных используют пролептический григорианский календарь и считают, что в 1500 году было 365 дней?

bolk (bolknote.ru)
26 июня 2012, 14:52, ответ предназначен Кириллу Зорину

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

Кирилл Зорин (инкогнито)
26 июня 2012, 15:19, ответ предназначен bolk (bolknote.ru):

Спасибо. Просто мне это всё упрощение как-то не очень нравилось, ведь Джаве и СУБД Оракл ничто не мешает учитывать смену календарей.

zg (zg.livejournal.com)
26 июня 2012, 16:47

про 128 дней сказано. но не сказано, что выкидывать высокосный год раз в 128 посчитали неудобным и решили выкидывать 3 раза за 400 лет, т.е. раз в 133 1/3 года. что слегка отличается от 128 лет.

bolk (bolknote.ru)
26 июня 2012, 16:49, ответ предназначен zg (zg.livejournal.com):

Спасибо за уточнение.

SunChaser (sunchaser.info)
26 июня 2012, 16:51, ответ предназначен Кириллу Зорину

Пролептический григорианский разумнее. А астрономический (там, где 2 год до н.э. именуется -1 годом) еще разумнее
Если нужна дата "по местному" есть конвертеры

К тому же, возникает путаница. Италия, например, приняла календарь в 1582, Англия в 1752, Россия в 1918. По кому конвертировать? Класс DateTime в Ruby по-умолчанию по Италии, но не все же мы в Италии

bolk (bolknote.ru)
1 июля 2012, 12:01

Оказывается некоторые Линуксы зависли в эту «лишнюю» секунду: http://habrahabr.ru/post/146863/

не HTML (инкогнито)
8 июля 2012, 08:06

До 1918 года Россия была отсталой страной! :-)

bolk (bolknote.ru)
8 июля 2012, 10:42, ответ предназначен не HTML

Отсталой на 13 дней? :)

Ваше имя или адрес блога (можно OpenID):

Текст вашего комментария, не HTML:

Кому бы вы хотели ответить (или кликните на его аватару)