Сервисы

Калькулятор срока давности

Калькулятор «Сколько лет назад»

Вычисляет точную дату, которая была заданное количество лет назад от выбранной даты.

Сколько лет назад

Начальная дата


Логика вычислений

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

Г_рез = Г_нач − N    М_рез = М_нач    Д_рез = Д_нач

где:

  • Г_рез, М_рез, Д_рез — год, месяц и число искомой даты;
  • Г_нач, М_нач, Д_нач — год, месяц и число начальной даты;
  • N — количество лет назад, лет.

Если начальная дата — 29 февраля, а полученный год оказывается невисокосным (в нём нет 29 февраля), число результата переносится на последний день февраля:

Д_рез = 28 (при Д_нач = 29, М_нач = февраль и невисокосном Г_рез)

Год считается високосным, если он кратен 4, но не кратен 100, либо кратен 400:

високосный, если (Г_рез mod 4 = 0 и Г_рез mod 100 ≠ 0) или Г_рез mod 400 = 0

где:

  • mod — остаток от деления.

По полученной дате определяется день недели — порядковый номер дня в неделе с переводом в название (воскресенье, понедельник, …, суббота):

День недели = f(Г_рез, М_рез, Д_рез)

где:

  • f — функция календаря, сопоставляющая дате её день недели.

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

Начальная дата N, лет Г_рез Корректировка 29 февраля Результат (дата, день недели) Комментарий
19.06.2024 10 2024 − 10 = 2014 нет 19.06.2014, четверг Обычный случай: год уменьшается, месяц и число сохраняются.
01.01.2020 20 2020 − 20 = 2000 нет 01.01.2000, суббота Круглые числа; 2000 високосный (кратен 400).
29.02.2024 1 2024 − 1 = 2023 29 → 28 (2023 невисокосный) 28.02.2023, вторник Граничный: 29 февраля переносится на 28-е.
29.02.2024 3 2024 − 3 = 2021 29 → 28 (2021 невисокосный) 28.02.2021, воскресенье Тот же перенос 29 февраля при другом N.
31.12.2000 100 2000 − 100 = 1900 нет 31.12.1900, понедельник 1900 невисокосный (кратен 100, но не 400).
15.03.2025 5 2025 − 5 = 2020 нет 15.03.2020, воскресенье 2020 високосный (кратен 4, не кратен 100).
25.12.2024 50 2024 − 50 = 1974 нет 25.12.1974, среда Большой сдвиг на 50 лет назад.
Рекомендуем