1. Главная страница » Компьютеры » 1 Января какой день недели

1 Января какой день недели

Автор: | 16.12.2019

Ве́чный календа́рь — календарь на широкий диапазон лет, предназначенный для определения дня недели. Многие из вечных календарей фактически создают сетку календаря на выбранный месяц выбранного года.

Вечные календари могут также использоваться для определения церковных праздников без фиксированной даты.

Содержание

История [ править | править код ]

Известные сегодня табличные календари приобрели современную форму только после того, как была изобретена печать. Вечные же календари придуманы гораздо раньше — время их создания восходит ещё к домонгольскому времени — вероятно, один из первых подобных календарей был найден на стене Киевской Софии [1] .

В 1902 году на Виленской сельскохозяйственной выставке были представлены вечные календари, которые стали основой для многих конструкций.

Вечные календари в больших объёмах выпускались в СССР. Массовое производство и столь же массовая реализация карманных календарей была начата в 1946 году. Первые экземпляры из картона выпускались в Москве и Ленинграде. Однако первые устройства были настолько недолговечны, что не могли прослужить даже десятую часть покрываемого ими срока.

Второй раз активный выпуск календарей начался в 1960—1970-х годах, когда материал был сменён на алюминий. На этот раз производились календари дискового типа.

В 1970-е годы подобные календари стали массово делаться из картона. Однообразный дизайн и невысокое качество продукции способствовало отсутствию спроса на эти устройства у населения страны и у коллекционеров.

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

После распада СССР вечные календари прекратили выпускаться и использоваться [1] . На это повлияло и то, что почти все календари были рассчитаны на период до 2000 года, а также повсеместное распространение компьютеров.

Устройство [ править | править код ]

Вечный календарь может быть реализован самыми разнообразными способами, внешне абсолютно непохожими друг на друга. Но в принципе их действия лежит одно — вечные юлианские календари образуют цикл с периодичностью в 28 лет, вечные григорианские календари — 400 лет. Более простые версии вечного григорианского календаря, не включающие в диапазон лет невисокосные годы, заканчивающиеся на 00, используют цикл в 28 лет.

Вечный календарь-таблица [ править | править код ]

Придумано множество вечных календарей такого вида, однако почти все они сводятся к одному: имеется 14 календарных сеток (7 возможных дней недели, с которых начинается год × 2 варианта — високосный и невисокосный год), и таблица, помогающая выбрать календарную сетку для нужного года либо определить сдвиг, помогающий правильно преобразовать одну сетку.

Календари этого вида различаются по степени удобства и быстроте использования. Такие календари иногда публиковались в газетах и журналах для вырезания и использования читателями. Наиболее часто применялись два варианта.

Варианты табличных вечных календарей [ править | править код ]

Вариант 1 — с 1901 по 2096 год [ править | править код ]
  • Для того, чтобы узнать день недели конкретного дня, требуется:
    1. Найти в первой таблице цифру, соответствующую указанному году и месяцу;
    2. Сложить эту цифру с числом дня;
    3. Найти во второй таблице получившееся значение и посмотреть, какому дню недели оно соответствует.
    • Пример: требуется определить, каким днём недели было 22 февраля2007 года.
      1. Цифра, соответствующая февралю (ф) 2007 в таблице 1, равна 3.
      2. 22+3=25.
      3. Числу 25 в таблице 2 соответствует четверг — это и есть искомый день недели.
      • Таблица. Примечание: серым цветом выделены високосные годы. Месяцы обозначены первыми буквами их названий.
      Таблица 1 Таблица 2
      Годы я ф м а м и и а с о н д
      1901 1929 1957 1985 2013 2041 2069 1 4 4 7 2 5 7 3 6 1 4 6
      1902 1930 1958 1986 2014 2042 2070 2 5 5 1 3 6 1 4 7 2 5 7
      1903 1931 1959 1987 2015 2043 2071 3 6 6 2 4 7 2 5 1 3 6 1
      1904 1932 1960 1988 2016 2044 2072 4 7 1 4 6 2 4 7 3 5 1 3
      1905 1933 1961 1989 2017 2045 2073 6 2 2 5 7 3 5 1 4 6 2 4
      1906 1934 1962 1990 2018 2046 2074 7 3 3 6 1 4 6 2 5 7 3 5
      1907 1935 1963 1991 2019 2047 2075 1 4 4 7 2 5 7 3 6 1 4 6
      1908 1936 1964 1992 2020 2048 2076 2 5 6 2 4 7 2 5 1 3 6 1
      1909 1937 1965 1993 2021 2049 2077 4 7 7 3 5 1 3 6 2 4 7 2
      1910 1938 1966 1994 2022 2050 2078 5 1 1 4 6 2 4 7 3 5 1 3
      1911 1939 1967 1995 2023 2051 2079 6 2 2 5 7 3 5 1 4 6 2 4
      1912 1940 1968 1996 2024 2052 2080 7 3 4 7 2 5 7 3 6 1 4 6
      1913 1941 1969 1997 2025 2053 2081 2 5 5 1 3 6 1 4 7 2 5 7
      1914 1942 1970 1998 2026 2054 2082 3 6 6 2 4 7 2 5 1 3 6 1
      1915 1943 1971 1999 2027 2055 2083 4 7 7 3 5 1 3 6 2 4 7 2
      1916 1944 1972 2000 2028 2056 2084 5 1 2 5 7 3 5 1 4 6 2 4
      1917 1945 1973 2001 2029 2057 2085 7 3 3 6 1 4 6 2 5 7 3 5
      1918 1946 1974 2002 2030 2058 2086 1 4 4 7 2 5 7 3 6 1 4 6
      1919 1947 1975 2003 2031 2059 2087 2 5 5 1 3 6 1 4 7 2 5 7
      1920 1948 1976 2004 2032 2060 2088 3 6 7 3 5 1 3 6 2 4 7 2
      1921 1949 1977 2005 2033 2061 2089 5 1 1 4 6 2 4 7 3 5 1 3
      1922 1950 1978 2006 2034 2062 2090 6 2 2 5 7 3 5 1 4 6 2 4
      1923 1951 1979 2007 2035 2063 2091 7 3 3 6 1 4 6 2 5 7 3 5
      1924 1952 1980 2008 2036 2064 2092 1 4 5 1 3 6 1 4 7 2 5 7
      1925 1953 1981 2009 2037 2065 2093 3 6 6 2 4 7 2 5 1 3 6 1
      1926 1954 1982 2010 2038 2066 2094 4 7 7 3 5 1 3 6 2 4 7 2
      1927 1955 1983 2011 2039 2067 2095 5 1 1 4 6 2 4 7 3 5 1 3
      1928 1956 1984 2012 2040 2068 2096 6 2 3 6 1 4 6 2 5 7 3 5
      Годы я ф м а м и и а с о н д
      Читайте также:  Lenovo вход в меню загрузки
      Понедельник
      1 8 15 22 29 36 Вторник 2 9 16 23 30 37 Среда 3 10 17 24 31 38 Четверг 4 11 18 25 32 Пятница 5 12 19 26 33 Суббота 6 13 20 27 34 Воскресенье 7 14 21 28 35
      Вариант 2 — с 15 октября 1582 года [ править | править код ]

      • Для того, чтобы узнать день недели, требуется:
        1. В верхнем левом столбце найти первые две цифры года;
        2. В найденной строке найти столбец с последними двумя цифрами номера года;
        3. В месячных календарях (расположены слева и справа) найти строку, соответствующую числу месяца;
        4. На пересечении строки числа месяца и столбца года найти день недели.
        • Пример: требуется определить, каким днём недели было 4 февраля2011 года.
          1. В столбце «Столетия» найти строку с первыми двумя цифрами номера года «20»;
          2. В найденной строке найти столбец с последними двумя цифрами номера года «11»;
          3. В календаре «Февраль» найти строку, соответствующую числу месяца «4»;
          4. На пересечении строки числа месяца и столбца года найти день недели «пятница».
          • Примечание: 29 февраля — только в високосные годы (столбцы выделены жирным шрифтом).
          Вариант 3 — календарь для старого и нового стилей на 28 веков [ править | править код ]
          «Вечный» табель-календарь для определения дня недели любой календарной даты старого и нового стилей

          Правила

          В левой части таблицы отыскать строку, содержащую число столетий нужного года по старому или новому стилю, а в верхней части таблицы — столбец с двумя последними цифрами номера года. Запомнить букву на пересечении строки и столбца, это — вруцелето года.

          В таблице с правой стороны найти нужный месяц. В строке, в которой находится этот месяц, отыскать ту же букву.

          В левой нижней части, в разделе «числа месяца», найти нужное число. Пересечение строки, в которой находится это число, со столбиком дней недели, расположенным под найденной буквой, и даёт искомый день недели.

          При этом следует различать январь и февраль в простых и високосных годах: они занимают различные положения в графе месяцев (для простых годов они обозначены «Яп» и «Фп», для високосных — «Яв» и «Фв»). Високосные годы выделены полужирным шрифтом. Год «00» подчёркнут, в старом стиле он всегда високосный, а в новом — только, если число столетий делится на 4.

          Последние цифры года Пример 1

          Определить, на какой день недели приходится 31 марта 2006 г. Слева в колонке нового стиля находим число «20», сверху — число «06». На пересечении строки и столбика стоит буква «Ѕ». Находим эту же букву в строке, в которой стоит обозначение «Март». Внизу под ней расположен столбик с днями недели, соответствующий марту, числа которого слева. Итак, 31 марта 2006 г. приходится на пятницу.

          Определить, на какой день недели приходится 1 января 45 г. до н. э. Прежде всего находим число года астрономического счёта: «−44». Далее представляем его в виде «−100+56». На пересечении столбика «56» со строкой «−1» находим вруцелето «Е». Год 45 до н. э. был високосным. Поэтому в правой части таблицы «месяцы» находим «Яв» и напротив числа «1» в колонке, соответствующей вруцелету «Е», находим день — пятница.

          1 января 1900 г. ст. ст. Год високосный, вруцелето «Ѕ» («00» подчёркнуто). Месяц — «Яв». Суббота.

          1 января 1900 г. н. ст. Год простой, вруцелето «З» («00» подчёркнуто). Месяц — «Яп». Понедельник.

          00 01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 число столетий Вруцелето месяцы ст. ст. н. ст. −4 3 10 17 — — А В Г Д Е Ѕ З Яв Апр. Июль −3 4 11 18 15 19 З А В Г Д Е Ѕ Яп Окт. −2 5 12 19 16 20 Ѕ З А В Г Д Е Май −1 6 13 20 — — Е Ѕ З А В Г Д Фв Авг. 7 14 21 17 21 Д Е Ѕ З А В Г Фп Март Нояб. 1 8 15 22 — — Г Д Е Ѕ З А В Июнь 2 9 16 23 18 22 В Г Д Е Ѕ З А Сент. Дек. Числа месяца Дни недели
          Читайте также:  Canon передача фото по wifi

          31 — январь
          28/29 — февраль простой/високосный
          31 — март
          30 — апрель
          31 — май
          30 — июнь
          31 — июль
          31 — август
          30 — сентябрь
          31 — октябрь
          30 — ноябрь
          31 — декабрь

          1 8 15 22 29 пн вт ср чт пт сб вс 2 9 16 23 30 вт ср чт пт сб вс пн 3 10 17 24 31 ср чт пт сб вс пн вт 4 11 18 25 чт пт сб вс пн вт ср 5 12 19 26 пт сб вс пн вт ср чт 6 13 20 27 сб вс пн вт ср чт пт 7 14 21 28 вс пн вт ср чт пт сб

          Примечание: Оригинал похож на «Табель-календарь вожатого на XX век, 1957 г.» [2] и на «таблицу В. Богатырева, 1931 г.» [3] .

          Этот календарь занимал мало места и часто включался в записные книжки и публиковался в книгах.

          Чтобы определить в какой день недели вы родились
          просто введите дату в окне выше!
          Так же вы узнаете покровительствующую планету,
          черты характера человека рожденого в этот день недели
          и день недели следующего дня рождения.

          «Существует ли год, в котором ни один месяц не начинается в понедельник?»

          На первый взгляд — да. Год может начинаться с любого дня недели, месяцы тоже каждый раз начинаются в разные дни недели. Вариантов множество, скорее всего, найдётся и не один такой год.

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

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

          На самом деле такого года не существует. Давайте разбираться почему.

          Часть 1. Месяцы

          Янв Фев Март Апр Май Июнь Июль Авг Сен Окт Нояб Дек
          31 28 / 29 31 30 31 30 31 31 30 31 30 31
          Янв Фев Март Апр Май Июнь Июль Авг Сен Окт Нояб Дек
          3 0 / 1 3 2 3 2 3 3 2 3 2 3

          если в месяце (28 + N) дней, то первое число следующего месяца сдвинется на N дней относительно дня недели первого числа текущего месяца.

          Например, в этом году январь начался во вторник, поэтому февраль начался в пятницу. Вт + 3 = Пт.

          Насколько же сдвинут день недели первого числа некоторого месяца? Чтобы найти это, надо просуммировать «излишки» дней над четырьмя неделями во всех предыдущих месяцах. В таблице представлены сдвиги относительно дня недели на первое января. Первая строка для невисокосного года, вторая для високосного.

          Янв Фев Март Апр Май Июнь Июль Авг Сен Окт Нояб Дек
          3 3 6 8 11 13 16 19 21 24 26
          3 4 7 9 12 14 17 20 22 25 27
          Читайте также:  Nikon d40 kit 18 55
          Янв Фев Март Апр Май Июнь Июль Авг Сен Окт Нояб Дек
          3 3 6 1 4 6 2 5 3 5
          3 4 2 5 3 6 1 4 6

          Вот теперь другое дело! Ясно видно, как определить день недели на первое число любого месяца, если известен день недели на первое января. Надо просто прибавить сдвиг для интересующего месяца. Закономерность февраль-март-ноябрь я знаю ещё со школы, а другие не замечал.

          Мы получили ответ на вопрос в начале статьи.

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

          Но теперь можно задавать другие вопросы. Например, «в каких годах такой месяц только один?» или «в какие года таких месяцев максимально много?». Для этого надо уметь определять день недели на первое января любого года.

          Часть 2. Годы

          Когда я учился программировать, а это было в 10 классе школы на PascalABC, одним из первых серьёзных заданий было реализовать процедуру, распечатывающую календарь на год, который передавался как аргумент. У нас были подсказки, какие функции для этого надо реализовать. В целом всё сводилось к подсчёту дней между двумя датами: эталонной и текущей, чтобы определить день недели на первое января нужного года.

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

          Високосные года в григорианском календаре назначаются следующим образом:

          • год, номер которого кратен 400, — високосный
          • остальные года, номер которых кратен 100, — невисокосные
          • остальные года, номер которых кратен 4, — високосные
          • остальные года — невисокосные

          Из этого описания видно, что цикл високосности имеет период в 400 лет. Но не ясно, будут ли такие четырёхсотлетние циклы начинаться в один и тот же день недели.

          Заметим, что первое января от года к году смещается на один или два дня недели, и напишем

          В григорианском календаре все четырёхсотлетние циклы начинаются в понедельник.

          1 2 3 5 6 1 3 4 5 6 1 2 3 4 6 1 2 4 5 6 2 3 4 5

          Первое столетие начинается со смещением по циклу, равным 0, второе со смещением 4, третье со смещением 8 и четвёртое со смещением 12. Именно для этого таблица представлена в виде, где в столетии есть «сотые» года и нет нулевых. Стоит сказать, что всего существует 14 различных вариантов года. В двадцативосьмилетнем цикле по одному разу на каждый день недели приходится начало високосного года и по три раза начало не високосного.

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

          Обновление от 03.07.2019

          Если представить двадцативосьмилетний цикл в виде таблицы,

          то становится понятно, как можно вычислить смещение дня недели на первое января:

          С учётом этого, а также того, что смещения для месяцев в високосном году можно вычислить через смещения в невисокосном, напишем

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

          Часть 3. Итоги

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

          1 2 3 5 6 1 3 4 5 6 1 2 3 4 6 1 2 4 5 6 2 3 4 5
          Янв Фев Март Апр Май Июнь Июль Авг Сен Окт Нояб Дек
          3 3 6 1 4 6 2 5 3 5
          3 4 2 5 3 6 1 4 6

          Во время написания статьи, я нашёл на Хабре две схожие по тематике: раз и два. Автор первой с помощью специальной таблицы показывает, как найти в уме день недели для дат в XX и XXI веках. Представленная им таблица содержит 56 чисел. Предложенный в статье алгоритм использует таблицу дней недели и две таблицы смещений, содержащие (28 + 2*12) = 52 числа, которые необходимо запомнить. Весь исходный код лежит на GitHub’е.

          Интересный факт: с 1 по 13 февраля 1918 года в Советской России не родился ни один человек.

          Задавайте себе вопросы с утра по воскресеньям =)

          Добавить комментарий

          Ваш адрес email не будет опубликован. Обязательные поля помечены *