Как узнать день недели в прошлых годах
Перейти к содержимому

Как узнать день недели в прошлых годах

  • автор:

Как расчитать день недели в разные годы по дате ⁠ ⁠

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

день недели = (день + код месяца + код года) % 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 — четверг.

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

В 99-м купил сименс с25. Вот с того самого дня ее и тролю)))

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

Определение номера недели по дате, европейский (российский) или американский стандарты, простая нумерация.

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

Первый способ:
Стандарт ISO 8601 и соответствующий ему ГОСТ ИСО 8601-2001 «ПРЕДСТАВЛЕНИЕ ДАТ И ВРЕМЕНИ» — официальный способ расчета номера недели в Российской Федерации. По поводу порядкового номера недели считается, что первой неделей года является та неделя, на которую попадает первый четверг нового года, или, что эквивалентно, та неделя, которая содержит число 4 января. То есть, если первое
января выпадает на пятницу, субботу, или воскресенье, то все еще продолжается последняя неделя предыдущего года. Это может приводить к интересным спецэффектам — в году может содержаться 52 или 53 недели, 29, 30, 31 декабря могут относиться к первой неделе следующего года, и наоборот, 1, 2, и 3 января могут относиться к 52 или 53 неделе прошлого года.
Се ля ви, как говорят французы, зато стандарт.

Второй способ:
Условно назовем его «американским». Стандартов на этот счет я не нашел, но общеизвестно, что американцы считают началом недели воскресенье, в отличии от нас, живущих с понедельника. Собственно, способ расчета — первая неделя это та, на которой случилось 1 января, а следующая неделя начинается с ближайшего воскресенья.

Третий способ:
Третий способ я бы назвал «интуитивным» 🙂 Первая неделя это та, на которой случилось 1 января, а следующая неделя начинается с ближайшего понедельника.

Четвертый способ:
«Сквозной». Тут все просто — 1 января начинается первая неделя года, через семь дней, 8 января — вторая неделя года и так далее до конца года.

Как определить день недели по дате – вечный календарь с 1901 по 2096 год

Для того, чтобы узнать день недели конкретного дня, требуется:

  1. Найти в первой таблице цифру, соответствующую указанному году и месяцу;
  2. Сложить эту цифру с числом дня;
  3. Найти во второй таблице получившееся значение и посмотреть, какому дню недели оно соответствует.

Пример: требуется определить, каким днём недели было 22 февраля 2007 года.

  1. Цифра, соответствующая февралю (ф) 2007 в таблице 1, равна 3.
  2. 22+3=25.
  3. Числу 25 в таблице 2 соответствует четверг– это и есть искомый день недели.

Подскажите как узнать по дате день недели (формула вечного календаря)

где d — число месяца;
m — номер месяца, начиная с марта (март=1, апрель=2, ..февраль=12);
y — номер года в столетии (например, для 1965 года y=65. Для января и февраля 1965 года, т. е. для m=11 или m=12 номер года надо брать предыдущий, т. е. y=64);
c — количество столетий (например, для 2000 года c=20. И здесь для января и февраля 2000 года надо брать предыдущее столетие с=19);
квадратные скобки означают целую часть полученного числа (отбрасываем дробную) .

Результат W делите на 7 и модуль остатка от деления даст день недели (воскресенье=0, понедельник=1, ..суббота=6)

Пример: для 31 декабря 2008 года определяем:
d=31, m=10, y=8, c=20

По формуле находим:
W = 31 + [ ( 13 * 10 — 1 ) / 5 ] + 8 + [ 8 / 4 ] + [ 20 / 4 ] — 2 * 20 =
= 31 + 25 + 8 + 2 + 5 — 40 = 31

Теперь делим W на 7 и находим остаток от деления: 31 / 7 = 4 и 3 в остатке.
Тройка соответствует дню недели СРЕДА.

(с) Энциклопедия для детей, том 11, Математика, с. 159
——

Практическую реализацию этой формулы можете скачать здесь — http://calendarium.narod.ru/vech/download.html

Остальные ответы
посто не пить.
ошибка в остатке

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

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

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