Обновлено:

Как посчитать сколько лет

Чтобы точно посчитать сколько лет прошло с определённой даты, нужно учитывать не только разницу в годах, но и месяцы и дни. Самый частый случай – вычисление возраста человека по дате рождения. Разберём все методы: от простого ручного расчёта до автоматического с помощью JavaScript и онлайн-калькулятора.

Введите дату рождения
Формат ДД.ММ.ГГГГ или выберите через календарь

Калькулятор выше автоматически вычисляет возраст по дате рождения. Введите дату в формате ДД.ММ.ГГГГ и получите точное количество полных лет, месяцев и дней.

Как посчитать возраст по дате рождения вручную

Чтобы посчитать возраст человека, выполните три шага:

  1. Вычислите разницу в годах между текущим годом и годом рождения. Например, для рождения в 1990 году и текущего 2026 года разница: 2026 – 1990 = 36 лет.
  2. Определите, прошел день рождения в текущем году. Сравните текущий месяц и день с месяцем и днем рождения.
  3. Если день рождения ещё не прошёл, уменьшите полученный возраст на 1 год.

Пример: Дата рождения 15 января 1990 года. Текущая дата 10 мая 2026 года.

  • Разница в годах: 2026 – 1990 = 36 лет.
  • Январь (месяц рождения) уже прошёл в текущем году (май > январь), поэтому день рождения прошёл.
  • Возраст: 36 лет.

Если текущая дата 1 января 2026 года, январь только начался, но день 1 меньше дня рождения 15. Поэтому день рождения ещё не прошёл, возраст: 36 – 1 = 35 лет.

Как посчитать возраст в JavaScript

Для автоматизации расчёта в программах используется JavaScript. Основной алгоритм тот же, но реализован в коде. Функция принимает дату рождения в формате YYYYMMDD (например, 19900115 для 15 января 1990) и возвращает возраст.

Код из sky.pro выглядит так:

function getAgeFromBirthDate(birthDateString) {
  const today = new Date();
  const birthDate = new Date(
    birthDateString.substr(0, 4),
    birthDateString.substr(4, 2)  1,
    birthDateString.substr(6)
  );

  let age = today.getFullYear()  birthDate.getFullYear();

  if (today.getMonth() < birthDate.getMonth() ||
      (today.getMonth() === birthDate.getMonth() && today.getDate() < birthDate.getDate())) {
    age--;
  }

  return age;
}

Функция из Хекслет аналогична, но более подробно разбирает строку:

function calculateAge(birthDateString) {
  const year = parseInt(birthDateString.substring(0, 4), 10);
  const month = parseInt(birthDateString.substring(4, 6), 10) - 1;
  const day = parseInt(birthDateString.substring(6, 8), 10);
  const birthDate = new Date(year, month, day);
  const today = new Date();
  let age = today.getFullYear() - birthDate.getFullYear();
  const hasBirthdayPassed =
    today.getMonth() > month || (today.getMonth() === month && today.getDate() >= day);
  if (!hasBirthdayPassed) {
    age--;
  }
  return age;
}

Оба метода корректно учитывают високосные годы и граничные случаи.

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

Високосные годы

Если день рождения – 29 февраля, в невисокосный год возраст увеличивается 1 марта. JavaScript объект Date автоматически корректирует такие даты, поэтому в коде выше всё будет работать правильно. При ручном расчёте нужно помнить, что 29 февраля существует только в годах, которые делятся на 400 или на 4, но не на 100 (например, 2000, 2004, 2024).

Граничные случаи

  • День рождения 31 декабря: возраст увеличивается 1 января следующего года. В формуле сравнения месяцев и дней это учитывается автоматически.
  • Расчёт для даты в будущем: если пытаетесь посчитать возраст для даты, которая ещё не произошла, результат будет отрицательным. В реальных системах нужно добавить проверку, что дата рождения не позже текущей.

Какие ещё форматы дат можно использовать

Кроме YYYYMMDD, часто встречаются форматы:

  • DD.MM.YYYY (15.01.1990)
  • MM/DD/YYYY (01/15/1990)
  • YYYY-MM-DD (1990-01-15)

Для использования в формуле или коде нужно привести дату к компонентам: год, месяц, день. Например, для DD.MM.YYYY разделите строку по точке и переставьте компоненты.

При работе с юридическими или финансовыми документами всегда используйте официальную дату из источника.

Где нужно точно посчитать сколько лет

Возраст рассчитывают не только для людей:

  • Официальные документы: паспорт, свидетельство о рождении, пенсионные справки.
  • Финансы и льготы: детские пособия (до определённого возраста), пенсионный возраст, льготы для определённых возрастных групп.
  • Гарантии на товары: возраст автомобиля, техники, для расчёта остатка гарантийного периода.
  • Стаж работы: для вычисления трудового стажа и пенсионных баллов.
  • Юридические сроки: возраст компании для определённых налоговых режимов или программ поддержки.

Для каждого случая используется тот же принцип: разница между текущей датой и датой начала события.

Часто задаваемые вопросы

Как посчитать возраст, если день рождения ещё не прошёл в текущем году?

Если текущая дата раньше дня рождения в этом году, нужно уменьшить полученный возраст на один год. Например, для рождения 15 декабря 1990 года и текущей даты 1 июня 2026 возраст будет 35 лет (2026 - 1990 - 1).

Как учитываются високосные годы при расчёте возраста?

При ручном расчёте нужно знать, что високосный год добавляет один день в феврале (29 февраля). Если день рождения 29 февраля, в невисокосный год возраст увеличивается 1 марта. Программные методы (JavaScript) учитывают это автоматически.

Можно ли посчитать возраст по дате в формате DD.MM.YYYY?

Да, нужно сначала преобразовать дату в стандартный формат. Например, “15.01.1990” → год 1990, месяц 01, день 15. После этого применяются обычные формулы расчёта.

Как посчитать возраст компании или автомобиля?

Возраст любого объекта вычисляется по тому же принципу: от текущей даты отнимается дата создания или выпуска. Для компании это дата регистрации, для автомобиля – дата производства или первой регистрации.

В каких случаях нужно точно знать возраст?

Точный возраст необходим для оформления документов (паспорт, пенсия), получения льгот и пособий, расчёта страховых выплат, определения гарантийного периода товаров, вычисления стажа работы.

  1. Калькулятор возраста: рассчитайте годы, месяцы, дни
  2. Сколько лет калькулятор | Рассчитать возраст онлайн
  3. Калькулятор возраста онлайн – рассчитать возраст по дате рождения
  4. Расчёт лет ребёнку по дате рождения
  5. Счётчик лет онлайн – рассчитать точный возраст по дате рождения
  6. Калькулятор расчета лет ребенку: возраст по дате рождения