Какой день недели был по дате
Обновлено: май 2026Мгновенно узнайте день недели для любой даты — прошлой, настоящей или будущей. Юлианский день, номер недели по ISO 8601, день года и проверка на високосный год.
Как узнать день недели по дате
Определение дня недели для произвольной даты — задача, которая возникает регулярно: от бытовых ситуаций (в какой день недели родился человек, на какой день приходится праздник) до профессиональных (планирование рабочих графиков, логистика, историческое исследование). Наш онлайн-калькулятор позволяет мгновенно определить день недели для любой даты — прошлой, настоящей или будущей. Помимо названия дня недели, инструмент показывает юлианский день (JDN), порядковый номер дня в году, номер недели по стандарту ISO 8601, а также информирует о том, является ли указанный год високосным.
Для вычисления дня недели существует несколько математических алгоритмов. Наиболее известные из них — формула Целлера (Zeller's congruence), алгоритм Томохико Сакамото, метод Гаусса и формула на основе юлианского дня. Каждый из этих методов имеет свои особенности и область применения, но все они дают одинаковый результат для дат григорианского календаря.
Формула Целлера — классический алгоритм
Формула Целлера (Zeller's congruence) — это математическое выражение, разработанное немецким математиком Христианом Целлером в 1880-х годах. Она позволяет вычислить день недели для любой даты григорианского или юлианского календаря без использования таблиц или справочников. Формула основана на модульной арифметике и учитывает все особенности календаря: разную длину месяцев, високосные годы и правило вековых високосных лет.
Для григорианского календаря формула записывается следующим образом:
h = (q + ⌊13(m+1)/5⌋ + K + ⌊K/4⌋ + ⌊J/4⌋ − 2J) mod 7
где: q — день месяца, m — номер месяца (январь и февраль считаются 13-м и 14-м месяцами предыдущего года, март = 3, апрель = 4, …, декабрь = 12), K — год столетия (year mod 100), J — номер столетия (⌊year / 100⌋). Результат h определяет день недели: 0 — суббота, 1 — воскресенье, 2 — понедельник, 3 — вторник, 4 — среда, 5 — четверг, 6 — пятница.
Ключевая идея формулы заключается в том, что месяцы обрабатываются начиная с марта. Это позволяет «убрать» проблему февраля, длина которого зависит от високосности года: поскольку февраль является последним месяцем расчётного года, его переменная длина не влияет на подсчёт остальных дней. Слагаемое ⌊13(m+1)/5⌋ аппроксимирует накопленное смещение дней недели, вызванное разной длиной месяцев.
Альтернативные алгоритмы
Помимо формулы Целлера, существует несколько других алгоритмов для определения дня недели. Алгоритм Томохико Сакамото — компактная формула, особенно удобная для реализации на языках программирования: она использует таблицу смещений [0, 3, 2, 5, 0, 3, 5, 1, 4, 6, 2, 4] для каждого месяца. Метод Гаусса, предложенный Карлом Фридрихом Гауссом, использует аналогичный подход с модульной арифметикой, но с другой системой нумерации. Алгоритм «судного дня» (Doomsday algorithm), разработанный Джоном Конвеем, позволяет определить день недели в уме: он основан на том, что определённые легко запоминаемые даты (4/4, 6/6, 8/8, 10/10, 12/12 и другие) всегда приходятся на один и тот же день недели в пределах одного года.
Юлианский день — универсальная шкала времени
Юлианский день (Julian Day Number, JDN) — это непрерывный счёт дней, начинающийся с полудня понедельника 1 января 4713 года до н.э. по пролептическому юлианскому календарю (или 24 ноября 4714 года до н.э. по пролептическому григорианскому календарю). Эта система была предложена французским учёным Жозефом Жюстом Скалигером в 1583 году и названа в честь его отца, Юлия Цезаря Скалигера, а не в честь юлианского календаря.
Система юлианских дней широко используется в астрономии, потому что она избавляет от необходимости работать с разными календарными системами и перескакивать через эры «до нашей эры» и «нашей эры». Для вычисления интервала между двумя датами достаточно вычесть один юлианский день из другого — результат будет точным количеством дней. Например, JDN для 1 января 2000 года составляет 2 451 545, а для 6 мая 2026 года — 2 461 133. Разница 9 588 дней — это точное количество суток между этими датами.
Помимо целочисленного JDN, существует юлианская дата (Julian Date, JD) — дробное число, где целая часть соответствует юлианскому дню, а дробная — доле суток, прошедшей с полудня. Так, JD = 2 451 545,0 соответствует полудню 1 января 2000 года по UTC. В модифицированной системе (Modified Julian Date, MJD) начало отсчёта перенесено на полночь 17 ноября 1858 года, чтобы избежать работы с большими числами: MJD = JD − 2 400 000,5.
Формула вычисления юлианского дня
Для преобразования григорианской даты в юлианский день используется следующий алгоритм. Январь и февраль рассматриваются как 13-й и 14-й месяцы предыдущего года. Затем вычисляются вспомогательные переменные: a = ⌊(14 − month) / 12⌋, y = year + 4800 − a, m = month + 12a − 3. Юлианский день определяется по формуле: JDN = day + ⌊(153m + 2) / 5⌋ + 365y + ⌊y/4⌋ − ⌊y/100⌋ + ⌊y/400⌋ − 32 045. Эта формула полностью учитывает правила григорианского календаря и даёт точный результат для любой даты.
История григорианского календаря
Григорианский календарь, которым пользуется большинство стран мира, был введён буллой «Inter gravissimas» Папы Григория XIII 24 февраля 1582 года. Реформа была необходима для коррекции юлианского календаря, введённого Юлием Цезарем в 45 году до н.э., который накопил к XVI веку ошибку в 10 дней. Причиной ошибки было несоответствие средней длины юлианского года (365,25 дня) истинной длине тропического года (365,2422 дня). За 1600 лет использования юлианского календаря дата весеннего равноденствия сместилась с 21 марта на 11 марта.
Реформа предусматривала два ключевых изменения. Во-первых, из октября 1582 года были изъяты 10 дней: после четверга 4 октября сразу наступила пятница 15 октября. Во-вторых, были введены новые правила для вековых високосных лет: годы, кратные 100, перестали быть високосными, за исключением кратных 400. Это снизило среднюю длину календарного года с 365,2500 до 365,2425 дня, что отличается от тропического года всего на 0,0003 дня (около 26 секунд). Остаточная ошибка составит 1 день лишь через 3236 лет.
Принятие григорианского календаря в мире
Не все страны приняли григорианский календарь одновременно. Католические страны (Испания, Португалия, Италия, Польша) перешли на новый стиль в 1582–1584 годах. Протестантские государства сопротивлялись дольше: Пруссия перешла в 1610 году, Великобритания и её колонии — в 1752 году (при этом пришлось пропустить уже 11 дней). Швеция применила уникальный подход, постепенно исключая високосные годы с 1700 по 1740 год, но затем отказалась от этой стратегии и перешла сразу в 1753 году.
Россия перешла на григорианский календарь одной из последних в Европе — 14 февраля 1918 года по декрету Совнаркома. К тому моменту разница между календарями составляла уже 13 дней (после 31 января 1918 года сразу наступило 14 февраля). Именно поэтому Великая Октябрьская революция, произошедшая 25 октября 1917 года по старому стилю, отмечается 7 ноября по новому стилю. Греция стала последней европейской страной, перешедшей на григорианский календарь — в 1923 году. Турция присоединилась в 1926 году, Саудовская Аравия — в 2016 году (для гражданских целей).
Юлианский календарь и разница стилей
Юлианский календарь, введённый Юлием Цезарем по рекомендации александрийского астронома Созигена, установил длину года в 365,25 дня. Високосный год (с 29 февраля) наступал каждые 4 года без исключений. Это было значительным усовершенствованием прежнего римского календаря, в котором длина года определялась произвольно понтификами (жрецами). Однако разница между юлианским годом (365,2500 дня) и тропическим (365,2422 дня) составляла 0,0078 дня в год, что приводило к накоплению ошибки в 1 день каждые 128 лет.
Разница между юлианским и григорианским календарями не является постоянной — она увеличивается на 3 дня каждые 400 лет. В XVI веке (1582) разница составляла 10 дней, в XVIII веке (1700–1799) — 11 дней, в XIX веке (1800–1899) — 12 дней, в XX–XXI веках (1900–2099) — 13 дней, а с 2100 года разница составит 14 дней. Русская православная церковь по-прежнему использует юлианский календарь для определения дат праздников, поэтому Рождество Христово празднуется 7 января (25 декабря по старому стилю).
Номер недели по стандарту ISO 8601
Международный стандарт ISO 8601 устанавливает правила нумерации недель в году. Первой неделей года считается та, которая содержит первый четверг года (или, что эквивалентно, содержит 4 января). Неделя начинается с понедельника и заканчивается воскресеньем. Дни с 1 по 3 января могут относиться к последней неделе предыдущего года, а дни 29–31 декабря — к первой неделе следующего года.
Большинство лет содержат 52 недели, но некоторые — 53. Год имеет 53 недели, если 1 января приходится на четверг, или если 31 декабря приходится на четверг (в високосном году — если 1 января или 31 декабря приходятся на среду или четверг). Нумерация недель по ISO 8601 широко применяется в бизнесе, бухгалтерии, логистике и управлении проектами. В формате записи дат ISO 8601 неделя обозначается буквой W: например, 2026-W19 означает 19-ю неделю 2026 года.
Практическое значение номера недели
Нумерация недель используется в самых разных областях. В розничной торговле и маркетинге отчёты часто группируются по неделям: «продажи за W15», «рекламная кампания на W20–W22». В производстве и логистике график поставок привязывается к номерам недель: «доставка партии на W34». В бухгалтерии некоторые страны определяют налоговые периоды по неделям. В IT-индустрии номера недель используются в планировании спринтов (Scrum) и релизов. Знание номера текущей недели позволяет быстро ориентироваться в планах и отчётах без необходимости пересчёта конкретных дат.
Високосный год — правила и исключения
Високосный год — это год, содержащий дополнительный день (29 февраля), чтобы синхронизировать календарный год с астрономическим тропическим годом (промежутком между двумя последовательными прохождениями Солнца через точку весеннего равноденствия). Тропический год составляет приблизительно 365,2422 суток — на 0,2422 дня длиннее обычного 365-дневного года. Без коррекции за 4 года накапливается почти целый день смещения, за 100 лет — около 24 дней, а за 400 лет — почти 97 дней.
Правила определения високосного года в григорианском календаре формируют трёхуровневую систему: год делится на 4 — високосный; год делится на 100 — не високосный; год делится на 400 — високосный. Таким образом, за 400-летний цикл имеется 97 високосных лет (100 − 4 + 1 = 97), а средняя длина года составляет 365 + 97/400 = 365,2425 суток. Это всего на 0,0003 суток (около 26 секунд) отличается от истинного тропического года.
Примеры високосных и невисокосных лет
Для наглядности рассмотрим несколько примеров. 2024 год — високосный (делится на 4, не делится на 100). 2025 год — невисокосный (не делится на 4). 2000 год — високосный (делится на 400, несмотря на то что делится на 100). 1900 год — невисокосный (делится на 100, но не на 400). 2100 год — не будет високосным по той же причине. 2400 год — будет високосным (делится на 400). Эта система обеспечивает точность календаря на тысячелетия вперёд.
Дни недели в разных культурах
Названия дней недели в русском языке имеют славянское происхождение и отражают порядковый номер дня в неделе. Понедельник — «после недели» (в старославянском «неделя» означала выходной день, воскресенье). Вторник — второй день. Среда — «средний» день, середина недели (в традиции, где неделя начиналась с воскресенья). Четверг — четвёртый день. Пятница — пятый день. Суббота — от древнееврейского «шаббат» (день отдыха). Воскресенье — день Воскресения Христова.
В разных языках дни недели названы в честь различных божеств и небесных тел. В английском языке: Sunday (Солнце), Monday (Луна), Tuesday (Тюр), Wednesday (Один/Вотан), Thursday (Тор), Friday (Фрейя), Saturday (Сатурн). В романских языках (французском, испанском, итальянском) названия восходят к латинским: dies Lunae (Луна), dies Martis (Марс), dies Mercurii (Меркурий), dies Jovis (Юпитер), dies Veneris (Венера). В японском языке дни недели также связаны с небесными телами: 日 (Солнце), 月 (Луна), 火 (Марс/огонь), 水 (Меркурий/вода), 木 (Юпитер/дерево), 金 (Венера/металл), 土 (Сатурн/земля).
Начало недели: понедельник или воскресенье?
Стандарт ISO 8601 определяет понедельник как первый день недели. Этой конвенции следуют большинство европейских стран, Россия, Китай и многие другие. Однако в США, Канаде, Японии и ряде арабских стран неделя традиционно начинается с воскресенья. В Израиле неделя начинается с воскресенья по религиозным причинам (суббота — шаббат, день отдыха). Выбор первого дня недели влияет на отображение календарей, нумерацию недель и планирование рабочих графиков. Наш калькулятор использует стандарт ISO 8601 с понедельником как первым днём недели.
Знаменитые исторические даты и их дни недели
Многие исторические события произошли в определённые дни недели, которые стали частью коллективной памяти. Великая Октябрьская революция произошла в среду, 25 октября (7 ноября) 1917 года. День Победы — 9 мая 1945 года — пришёлся на среду. Первый полёт человека в космос, совершённый Юрием Гагариным 12 апреля 1961 года, был в среду. Высадка Нила Армстронга на Луну 20 июля 1969 года состоялась в воскресенье.
Среди западных исторических событий: Декларация независимости США была принята во вторник, 4 июля 1776 года. Взятие Бастилии, ставшее символом Французской революции, произошло во вторник, 14 июля 1789 года. Начало Первой мировой войны (28 июля 1914 года) пришлось на вторник. Начало Второй мировой войны (1 сентября 1939 года) — на пятницу. Падение Берлинской стены 9 ноября 1989 года было в четверг. Так называемый «Чёрный понедельник» 19 октября 1987 года, когда индекс Доу-Джонса упал на 22,6%, действительно был понедельником.
Практические применения определения дня недели
Знание дня недели для конкретной даты необходимо во многих ситуациях. Планирование мероприятий: организаторам важно знать, не приходится ли запланированная дата на выходной или праздничный день. Генеалогические исследования: день недели рождения или бракосочетания предков может дать дополнительный контекст (например, венчания обычно совершались в определённые дни). Юриспруденция: сроки давности, даты подачи документов и судебных заседаний часто привязаны к рабочим дням. Суеверия и традиции: в некоторых культурах определённые дни недели считаются благоприятными или неблагоприятными для начала важных дел.
День года и его применение
День года (Day of Year, DOY или порядковый номер дня) — число от 1 до 365 (или 366 в високосном году), показывающее, сколько дней прошло с начала года включая текущий день. 1 января — это 1-й день, 1 февраля — 32-й, 1 марта — 60-й (или 61-й в високосном году) и так далее.
Этот показатель находит практическое применение в самых разных областях. В авиации международный формат дат для планов полётов использует трёхзначный день года (например, 126 вместо «6 мая»). В метеорологии и климатологии наблюдения записываются с использованием порядкового дня для упрощения статистического анализа. В сельском хозяйстве сроки посева и сбора урожая привязываются к дню года с учётом климатических условий региона. В промышленном производстве партии товаров кодируются с использованием дня года: например, маркировка «26126» означает «126-й день 2026 года», то есть 6 мая. Знание порядкового номера дня помогает быстро определить, сколько дней осталось до конца года (365 − DOY или 366 − DOY для високосного года).
Источники
- Целлер К. «Die Berechnung des Wochentages» — Mathematisch-naturwissenschaftliche Mitteilungen, 1882
- ГОСТ ИСО 8601-2001 — представление дат и времени
- Richards, E. G. «Mapping Time: The Calendar and its History» — Oxford University Press
- Meeus, J. «Astronomical Algorithms» — Willmann-Bell, 1991
- Скалигер, Ж. Ж. «De emendatione temporum» — 1583