Исторические истории

Какой день недели был 16 июня 1946 года?

Определяем день недели

Для вычисления дня недели удобно использовать формулу Целлера (Zeller’s congruence):

weekday = (d + ((m + 1) * 26) / 10 + y + (y / 4) + (c / 4) - 2 * c) mod 7

Где:

  • d — число месяца (1‑31);
  • m — номер месяца (март = 1, апрель = 2, …, декабрь = 12);
  • y — полный год (например, 1946);
  • c — столетие (для 1946 года c = 19).

Подставляем данные для 16 июня 1946 года:

  • d = 16;
  • m = 6 (июнь);
  • y = 1946;
  • c = 19.

Вычисления:

weekday = (16 + ((6 + 1) * 26) / 10 + 1946 + (1946 / 4) + (19 / 4) - 2 * 19) mod 7
        = (16 + 156 + 1946 + 486 + 4 - 38) mod 7
        = 2559 mod 7
        = 5

В этой версии 0 = воскресенье, 1 = понедельник, …, 6 = суббота. Полученное значение 5 соответствует воскресенью.

Итак, 16 июня 1946 года был воскресенье.