Что показывает калькулятор
Вы вводите две даты рождения, а страница выдаёт точную разницу между ними в годах, месяцах и днях, а также ту же разницу в неделях, днях, часах и минутах. Разные разговоры требуют разных единиц: «шесть лет и два месяца» и «2 254 дня» — одно и то же число, но звучат они по-разному.
Рядом показываются оба текущих возраста на выбранную дату и ближайшие дни рождения каждого с днём недели. Для тех, кто родился 29 февраля, отдельно сказано, как именно обрабатывается этот случай.
И, наконец, три блока с контекстом: как разница такого размера выглядит у пары, у брата с сестрой и у родителя с ребёнком. Это описания, а не советы — число само по себе редко что-то объясняет.
Как считаются годы, месяцы и дни
Сначала считается число полных месяцев между датами: (год поздней − год ранней) × 12 плюс разница месяцев. Если при добавлении такого числа месяцев к ранней дате получается день позже поздней даты, счётчик уменьшается на единицу.
Затем от ранней даты отсчитывается это число месяцев — получается опорная дата, — и остаток берётся в целых днях. Годы выходят делением месяцев на 12 с округлением вниз, а месяцы — остатком от этого деления.
Такой способ выбран вместо привычного «занять день у предыдущего месяца»: при переходе через февраль тот способ даёт отрицательное число дней. Например, с 31 января по 1 марта он выдаёт «1 месяц и −2 дня», а календарный отсчёт — «1 месяц и 1 день».
Почему сама разница никогда не меняется
Обе даты рождения неподвижны, поэтому расстояние между ними всегда одно и то же. Пара, у которой разница шесть лет и два месяца, будет иметь эту же разницу и через сорок лет.
Что действительно меняется — это два текущих возраста и даты ближайших дней рождения. Именно на них влияет дата расчёта, и именно поэтому она вынесена в отдельную настройку.
На этом же строится частая путаница: в январе разница «в годах» на глаз кажется одной, а в июле — другой. На деле меняются не годы разницы, а то, кто из двоих уже отметил день рождения в текущем году.
Високосный день и 29 февраля
Если один из дней рождения приходится на 29 февраля, в невисокосные годы календарь такого дня не содержит. Калькулятор показывает 28 февраля и помечает такой случай сноской.
Единого правила здесь нет: часть стран для юридических целей считает такой день рождения наступившим 1 марта, часть — 28 февраля. Разница важна ровно один день в году и только в три года из четырёх.
На саму разницу в возрасте это не влияет вообще: она считается от фактических дат, а не от того, как отмечается день рождения.
Время рождения
Поля времени необязательны. Они нужны в двух случаях: когда нужна разница с точностью до часов и минут и когда оба родились в один день и важно понять, кто старше.
Если время не указано, обе даты считаются как 00:00. Для разницы в годах и месяцах это ничего не меняет, а вот в часах даст ровное число суток.
При одинаковых датах и указанном времени страница прямо пишет, на сколько часов один старше другого. Без времени она честно сообщает, что оба считаются одним и тем же моментом.
Шкала и круглые даты
Шкала показывает, как две жизни накладываются друг на друга: когда родился каждый, сколько было старшему в момент рождения младшего, какой день недели это был.
Таблица круглых дат отвечает на более интересный вопрос: сколько будет младшему, когда старшему исполнится 30, 40, 50 и так далее. Именно эта таблица обычно и объясняет, что значит разница в возрасте на практике.
Пока младший ещё не родился на момент круглой даты, в таблице так и написано. Это заметно чаще, чем кажется: при разнице в двадцать лет первые два-три события старшего приходятся на время до рождения младшего.
Разница в возрасте у пары
До двух лет разница почти незаметна: общие школьные годы, общая музыка, одни и те же ориентиры. До шести лет — обычное дело, и оба партнёра чаще всего находятся на схожей карьерной ступени.
Ближе к десяти годам появляется первое настоящее различие: разные технологии в детстве, разная школа, и пенсионный возраст наступает с ощутимым разрывом. Это не проблема, но это то, что стоит планировать заранее.
От одиннадцати лет и выше речь идёт уже о разрыве поколений. Блок «как пара» не показывается, если на дату расчёта кому-то из двоих меньше 18: описывать такую разницу как отношения было бы неуместно.
Разница у братьев и сестёр
Меньше двух дней — почти наверняка близнецы. Меньше десяти месяцев — в большинстве школьных систем дети попадают в один класс, что само по себе сильно влияет на отношения.
От года до трёх — классическая разница «на один-три класса»: общие друзья, общая одежда и постоянное соперничество. От трёх до восьми старший обычно успевает окончить школу до прихода младшего.
Больше восьми лет — и старший вполне может уехать из дома раньше, чем младший перейдёт в среднюю школу. Такие братья и сёстры часто описывают детство как «жили в разных семьях».
Разница между родителем и ребёнком
От пятнадцати до двадцати лет — разница молодого родителя: на момент рождения ему было меньше двадцати. От двадцати до тридцати пяти — самый обычный диапазон.
От тридцати пяти до пятидесяти пяти это либо поздний родитель, либо бабушка с дедушкой при меньших значениях. Больше пятидесяти пяти — почти всегда уже два поколения.
Меньше пятнадцати лет калькулятор прямо называет необычным для родителя и ребёнка. Такая разница чаще встречается у братьев и сестёр с большим промежутком или у родственников другого порядка.
Разбор расчёта
Блок «Как это посчитано?» показывает все промежуточные значения в том порядке, в каком их использовал калькулятор: обе даты со временем, число полных месяцев, опорную дату, остаток в днях и оба итоговых компонента.
Это сделано, чтобы результат можно было проверить, а не принимать на веру. Если ваш ручной подсчёт разошёлся с результатом на день, расхождение почти всегда обнаруживается именно на опорной дате.
Все вычисления идут в UTC. Это не формальность: при расчёте в местном времени переход на летнее время сдвигал бы результат, и одна и та же пара дат давала бы разную разницу в зависимости от того, в каком месяце вы спросили.
Ограничения
Калькулятор работает с григорианским календарём и датами от 1900 до 2199 года. Более ранние даты требуют учёта перехода с юлианского календаря, а это отдельная и совсем не однозначная тема.
Описания для пары, братьев и сестёр и родителя с ребёнком — обобщения, построенные на типичных школьных системах и типичном пенсионном возрасте. В разных странах границы сдвигаются.
И главное: число говорит только о календаре. Оно ничего не сообщает ни об отношениях, ни о зрелости, ни о том, много это или мало для конкретных двух людей.