Как найти дни недели по дате

Как определить день недели по дате, не заглядывая в календарь

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

Как определить день недели по дате, не заглядывая в календарь

Для определения дня недели по дате нужно использовать формулу:

день недели = (день + код месяца + код года) % 7

Пояснения

Код месяца

Коды месяца и года — это, пожалуй, самое трудное в формуле.

Код месяца нужно просто запомнить.

  • 1 — январь, октябрь;
  • 2 — май;
  • 3 — август;
  • 4 — февраль, март, ноябрь;
  • 5 — июнь;
  • 6 — декабрь, сентябрь;
  • 0 — апрель, июль.

Чтобы запоминать подобные нелогичные данные, проще всего прибегать к ассоциациям.

Код года

Код года в XXI веке рассчитывается по формуле:

код года = (6 + последние две цифры года + последние две цифры года / 4) % 7

Оператор «/» означает неполное частное, то есть целую часть результата деления.

  • 2015 год: (6 + 15 + 15 / 4) % 7 = (6 + 15 + 3) % 7 = 24 % 7 = 4;
  • 2016 год: (6 + 16 + 16 / 4) % 7 = (6 + 16 + 4) % 7 = 26 % 7 = 5;
  • 2017 год: (6 + 17 + 17 / 4) % 7 = (6 + 17 + 4) % 7 = 27 % 7 = 6;
  • 2026 год: (6 + 26 + 26 / 4) % 7 = (6 + 26 + 6) % 7 = 38 % 7 = 3.

Если вы захотите узнать день недели для даты другого века, придётся учитывать ещё значения века (6, 4, 2, 0). Вместо 6 для ближайших веков будут следующие значения:

  • 16хх: 6;
  • 17хх: 4;
  • 18хх: 2;
  • 19хх: 0;
  • 20хх: 6;
  • 21хх: 4 и так далее.

% 7

Здесь просто: % — оператор остатка при делении.

Расшифровка результата

Старт отсчёта — выходные, то есть: 0 — суббота, 1 — воскресенье и так далее.

Примеры расчёта

  • 25 июля 2016 года: (25 + 0 + 5) % 7 = 30 % 7 = 2 — понедельник;
  • 8 августа 2017 года: (8 + 3 + 6) % 7 = 17 % 7 = 3 — вторник;
  • 5 января 2127 года:
    • (4 + 27 + 27 / 4) % 7 = (4 + 27 + 3) % 7 = 34 % 7 = 6 — код года;
    • (5 + 1 + 6) % 7 = 10 % 7 = 5 — четверг.

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

UPD. К сожалению, эта формула не совсем верно работает для високосного года. До 29 февраля включительно к формуле придётся прибавить ещё единицу, чтобы получить верный день. Спасибо читателям, что обнаружили ошибку.

ЖизньДата и время

Определение дня недели по дате

Вот простенький калькуляторчик для определения дня недели по дате.
Может пригодиться.

PLANETCALC, Определение дня недели по дате

Определение дня недели по дате

Дата

Век

День недели

Ссылка скопирована в буфер обмена

Похожие калькуляторы

  • • Дата плюс/минус число недель
  • • Число недель между двумя датами
  • • Количество дней недели между двумя датами
  • • Количество часов и минут между двумя днями недели
  • • Дата и интервал
  • • Раздел: Дата и время ( 40 калькуляторов )

 дата Дата и время день недели

PLANETCALC, Определение дня недели по дате

Timur2020-11-03 14:19:27

Комментарии

Ваше сообщение

Сообщать о комментариях

Калькулятор — день недели по дате

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

Укажите дату:

День:

Месяц:

Год:

РАССЧИТАТЬ

Онлайн калькуляторы

  • Каталог Калькуляторов
  • Кредитные
  • Финансовые
  • Конвертеры валют
  • Генераторы

Калькулятор дня недели по дате

Дата:

Калькулятор дней недели поможет найти день недели по указанной дате (день, месяц, год). Чтобы рассчитать введите дату, к примеру свой день рождения и нажмите кнопку рассчитать. В ответ калькулятор сделает расчет и ответит какой день недели был в указанный день.

Похожие калькуляторы:

  • Калькулятор дат между датами
  • Калькулятор возраста по дате рождения
  • Дата римскими цифрами
  • Перевод в римские цифры
  • Средний возраст сотрудников
  • Калькулятор високосных годов
  • Прибавить дни к дате
  • Контакты

Изменить язык:

oncalc.ru 2014-2023

Когда под рукой нет календаря, для того чтобы определить, какой сегодня день недели, можно воспользоваться следующим алгоритмом:

1. Обозначим число, месяц и год соответственно d, m и y.

2. Если m ≤ 2 (т.е. месяц январь или февраль), то год уменьшим на 1, а число увеличим на 3:

    y:= y–1; 

    d:= d+3;

3. Теперь номер дня недели (w) вычисляется по следующей формуле:

    w:= 1 + [d + y + y/4 – y/100 + y/400 + (31m+10)/12] mod 7;

(все операции деления — целочисленные, т.е. берется целая часть частного; mod — операция получения остатка от деления).

Результатом будет целое число в диапазоне от 1 до 7, соответствующее дням недели от воскресенья до субботы (1 — понедельник, 2 — вторник, 3 — среда, 4 — четверг, 5 — пятница, 6 — суббота, 7 — воскресенье).

Данный алгоритм получен модификацией широко известного алгоритма вычсиления дня недели.

Преимущества модифицированного алгоритма:

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

Алгоритм работает в пределах применимости григорианского календаря.

Примеры:

1. Текущая дата: 27.09.2009

d = 27;

m = 9;

y = 2009;

Поскольку m > 2, сразу переходим к п.3

w = 1 + [27 + 2009 + 2009/4 – 2009/100 + 2009/400 + (31*9+10)/12] mod 7 =

   = 1 + [27 + 2009 + 502 – 20 + 5 + 24] mod 7 = 1 + 6 = 7 — воскресенье.

2. Текущая дата: 31.01.1968

d = 31;

m = 1;

y = 1968;

Поскольку m ≤ 2, введем коррекцию:

y = 1967;

d = 34;

Теперь вычисляем:

w = 1 + [34 + 1967 + 1967/4 – 1967/100 + 1967/400 + (31*1+10)/12] mod 7 =

   = 1 + [34 + 1967 + 491 – 19 + 4 + 3] mod 7 = 1 + 2= 3 — среда.

Ссылки: 

  • Алгоритм вычисления дня недели — Википедия.

Дополнительно на Геноне:

  • Как по дате определить день недели?
  • Что такое григорианский календарь?
  • Почему в разные годы одна и та же дата приходится на разные дни недели?
  • Где найти астрономический календарь?
  • Как самому расcчитать дату Пасхи?

Понравилась статья? Поделить с друзьями:
  • Как найти людей по воинской части
  • Как правильно составить претензию на некачественную мебель образец претензии
  • Как найти действие сосредоточенной силы
  • Как найти текст в yandex
  • Самсунг телевизор как найти блютуз