Подробнее
Дмитрий Тусаев @tusaeff Люди думают, что костыли при работе с датами изобрели инженеры, но это совсем не так Взять хотя бы високосный год: 12:59 AM • 28 мая 2020 г. • Twitter Web App 43 Ретвиты 127 отметок «Нравится» о и о Дмитрий Тусаев @1и$ае11 • 12 ч В ответ ФШБае^ У древних римлян (до VII века до н. э.), в календаре было 10 месяцев (промежуток с марта по декабрь - только июль и август назывались иначе), а вместо двух оставшихся была дыра))0)) О 1 11 О 7 Д Дмитрий Тусаев (зПизаеА • 12 ч каждый год древние римляне заканчивали отсчет на декабре и ждали пока запахнет весной, чтобы начать отсчитывать даты заново. О 1 11 2 О 7 Дмитрий Тусаев ЗДшаеН • 12 ч V со временем на модуль «календарь» стали завязываться всякие важные подсистемы (налоговая например) и где-то в VI веке до нашей эры римский царь Нума Помпилий затеял рефакторинг календаря, чтобы устранить дыры в абстракции О 1 11 О 5 Д Дмитрий Тусаев @1иБае(( • 12 ч >/ при Нуме Помпилии в римском календаре стало 7 месяцев по 29 дней, 4 по 31 и 1 по 28 (февраль), что в сумме дает... 355 дней то есть лет за 20 жизни по такому календарю июнь менялся местами с январем и юзеры начинали люто-бешено репортить баги про снег О 2 11 О 19 Дмитрий Тусаев (©ШБаеА • 12 ч ^ происходило это в самом деле или нет, мы не знаем, но знаем что в админке для понтифика добавили бэкдор и понтифик рандомно раз в несколько лет вручную добавлял в календарь еще один месяц из 27/28 дней, чтобы не отставать от астрономического года О 1 11 О 7 Д Дмитрий Тусаев (З^изаеА • 12 ч V гай юлий цезарь в ходе очередного римфакторинга решил покончить с этим легаси и наконец спроектировать нормальный календарь, где не нужно было бы править таблички на проде О 1 11 О и Д Дмитрий Тусаев @tusaeff • 12 ч ^ придворные астрономы насчитали, что в среднем астрономический год длится 365 дней 6 часов, то есть за четыре года по 365 набегают ровно сутки (кажется кто-то подгонял) отставания - так получилась формула юлианского календаря: три года по 365 дней и один по 366 О 1 11 Об Д Дмитрий Тусаев @1и$ае(1 • 12 ч ^ так появился високосный год, костыли убрали, математика сошлась и все стало классно О 1 11 0 9 Д Дмитрий Тусаев ЗДшаеА1 ■ 12 ч V ... пока в 16 веке у христиан не потекла Пасха. церковь отталкивалась от дня весеннего равноденствия при проведении своих праздников, а он каждый год почему-то наступал все раньше (вряд ли римляне при проектировании календаря закладывали такие юзкейсы) О 1 11 7 О 28 Дмитрий Тусаев @tusaeff • 12 ч правда в том, что в астрономическом году не 365 дней 6 часов, а 365 дней 5 часов 49 минут и костыль Цезаря с високосными годами не работал long term: каждый юлианский год длится на 11 минут меньше астрономического, а за 16 веков набежало почти две недели разницы! О 1 11 О 13 Д Дмитрий Тусаев @tusaeff • 12 ч в 1582 году папа римский Григорий ХШ выпустил хотфикс календаря (обратную совместимость сохранили) в котором выпилил високосный год в годах кратных 100 (но оставил в годах кратных 400) О 1 11 1 0 9 Д Дмитрий Тусаев @tusaeff • 12 ч финальная версия алгоритма високосных годов: 1. год номер которого кратен 400 - високосный 2. номера кратные 100 - невисокосные 3. номера кратные 4 - високосные О 1 11 1 О 18 Д Дмитрий Тусаев @tusaeff • 12 ч релиз назвали в честь автора крайнего коммита григорианским и именно этим календарем мы и пользуемся сегодня :) О 1 11 О 21 д Дмитрий Тусаев @tusaeff • 12 ч Source: ru.wikipedia.org/wiki/%D0%92%D0... О 11 О 9
Буквы на белом фоне,twitter,интернет,календарь
Еще на тему
Отличный комментарий!