Если вы посмотрите на вывод, cal 9 1752
вы увидите этот странный вывод:
September 1752
S M Tu W Th F S
1 2 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
Следующая история под названием « Cal 9 1752 объяснил» »была скопирована из списка новостей в начале 90-х годов и заархивирована в« Коллекции забавных вещей для компьютерной аудитории »Дэвидом Г. Уайзманом (сетевой менеджер на факультете компьютерных наук в университете. Западного Онтарио).
У парня, который первоначально написал команду "cal" на каком-то старом компьютере Версии 7, была ошибка в коде. Это выглядело как некоторый ошибочный вывод, когда переменная malloc перезаписала 12 дополнительных байтов с нулями, что привело к странному выводу календаря, показанному выше.
Никто в здравом уме на самом деле не заботится о календаре на сентябрь 1752 года. Даже идея 1752 года не существует в UNIX, потому что время для UNIX не начиналось до начала 1970 года. В результате никто даже не знал, что была эта ошибка намного позже. К тому времени вокруг были плавающие тысячи копий, многие из которых были только двоичными. Было слишком поздно, чтобы исправить их все.
Поэтому в середине 1975 года некоторые высокопоставленные чиновники AT & T встретились с Папой и пришли к соглашению. Календарь был задним числом изменен, чтобы привести сентябрь 1752 года в соответствие с реальностью UNIX. Поскольку календарь был изменен путем обратного отсчета с 14 сентября 1752 года, ни одна из дат после этого не была затронута. Все даты до этого были перенесены на 12 дней. Они также исправили man-страницу для «cal», чтобы документировать ошибку как функцию.
11 дней с 3 по 13 сентября просто исчезли из записей. Они обыскали учебники истории и обнаружили, что, к счастью, за эти 11 дней ничего особенного не произошло.
В целом, весь этот инцидент был в значительной степени не событием. Один из авторов научной фантастики позже услышал об этом и превратил эту штуку в полнометражную научно-фантастическую работу под названием «Токарный станок небес», книгу, которая, на мой взгляд, мало похожа на то, что действительно произошло.
Каково реальное объяснение выходной аномалии?
/humor
каталог в размещенном вами URL? ;)Ответы:
Чтобы отследить реальную историю, попробуйте запустить
man cal
себя:Затем, если ваша история отрывочна, перейдите в Википедию за информацией об изменениях, внесенных григорианским календарем, и его истории усыновления в различных частях мира:
К тому времени, когда появился Unix и перезапустил мировые часы, чтобы начаться 1 января 1970 года, с этим беспорядком ничего не поделаешь, кроме выбора даты, чтобы показать сброс. Поскольку мир в разное время принял текущую систему григорианского календаря в разных странах, точное время для внесения этой поправки является несколько произвольным.
Если у вас когда-нибудь будет причина подсчитывать даты, уходящие так далеко в вашем программном обеспечении, вы столкнетесь с гораздо более серьезными проблемами, чем просто один сброс! История календаря полна сюрпризов!
источник
Вот хорошая статья о календарях (PDF), которая объясняет, как медленное смещение Пасхи в течение года сделало эту корректировку необходимой, а также описывает, когда разные страны сделали это.
На странице 904:
Документ продолжает ссылаться на обширный список дат усыновления, который был составлен астрономами, и прямо объясняет, как конвертировать между различными календарными системами.
источник