Калькулятор Возраста
Вычисляет точный возраст, знак зодиака и следующий день рождения
Калькулятор Возраста
Что такое Калькулятор Возраста?
Калькулятор возраста преобразует дату рождения в понятный результат: полных лет, оставшихся месяцев и дней, общее число прожитых дней и время до следующего дня рождения. Он полезен для анкет, школьных или клубных ограничений, семейных записей, планирования дней рождения и быстрых проверок, где легко ошибиться при ручном подсчете. Возраст нельзя надежно определить только вычитанием года рождения из текущего года: важно, прошел ли день рождения в этом году. Високосные годы, дата 29 февраля и разная длина месяцев также влияют на результат. Инструмент использует текущую дату браузера как точку отсчета; официальные возрастные требования нужно проверять по правилам конкретной организации.
Как использовать
Как использовать
- Введите дату рождения
- Нажмите «Рассчитать возраст», чтобы обновить панель результатов
- Просмотрите точный возраст, общее число дней, ближайший день рождения и знак зодиака
Примечания
- Используйте ту же календарную систему, что и в исходном документе; результат считается по полным истёкшим дням, а не по округлённым годам.
- Для юридических, школьных или страховых форм уточните, как целевая система считает возраст: по дню рождения, календарному году или местным административным правилам.
Применение
Технический принцип
Возраст в полных годах вычисляется календарным вычитанием, а не простым делением на 365,25 дней. Алгоритм берёт today.year − birth.year, затем вычитает 1, если пара (месяц, день) сегодняшней даты раньше пары (месяц, день) даты рождения. Это соответствует григорианскому соглашению, принятому в гражданских записях: человек, родившийся 15.06.1990, достигает ровно 36 лет 15.06.2026 в 00:00 по местному времени, а не через 36 × 365,25 дней. Оставшиеся месяцы и дни вычисляются заимствованием из старшей единицы с учётом фактической длины предыдущего месяца (от 28 до 31 дня), поэтому простое деление общего числа дней по модулю даёт ошибки на границах месяцев. Общее число дней, недель и часов получается из миллисекундной разницы (today.getTime() − birth.getTime()), делённой на 86 400 000 мс/сутки. Калькулятор считывает локальное время устройства, поэтому неявно наследует IANA-часовой пояс хоста и любое действующее смещение летнего времени; это допустимо для возраст с точностью до дня, но может сместить количество часов на ±1 при переходе на летнее/зимнее время. Объект Date в JavaScript использует нумерацию месяцев с нуля (январь = 0), что является самым частым источником ошибок при ручной реализации; Date.UTC() предпочтительнее, когда результат должен быть инвариантным к переходу на летнее время. Китайский зодиак определяется по формуле (year − 4) mod 12 в каноническом порядке: Крыса, Бык, Тигр, Кролик, Дракон, Змея, Лошадь, Коза, Обезьяна, Петух, Собака, Свинья (4 год н. э. = Крыса). Строго говоря, цикл переворачивается в китайский Новый год, а не 1 января, поэтому рождённые в январе или начале февраля григорианского года могут принадлежать предыдущему животному по лунному календарю. Особый случай 29 февраля не имеет единого правила: английское общее право и закон Великобритании о регистрации рождений и смертей считают днём рождения 1 марта в невисокосные годы, тогда как во многих штатах США и Австралии используют 28 февраля, поэтому отображаемый обратный отсчёт является значением по умолчанию, которое следует сверять с соответствующим законодательством.
- Алгоритм разности годов: years = today.year − birth.year − (today.MMDD < birth.MMDD ? 1 : 0), что позволяет избежать приближения в 365,25 дней, дающего сбой после високосного года
- Миллисекундная арифметика: общее число дней = floor((Date.now() − birthMs) / 86_400_000); точность ограничена двойной точностью IEEE 754 примерно до ±0,5 мс на всём диапазоне Date — ±100 000 000 дней от начала эпохи
- Правило високосного года григорианского календаря: делится на 4, кроме вековых годов, не делящихся на 400 (1900 — обычный, 2000 — високосный); средняя длина года — 365,2425 дня, а не 365,25
- День рождения 29 февраля: юридический день рождения в невисокосные годы зависит от юрисдикции (1 марта по английскому общему праву и разделу 4 Закона о регистрации рождений и смертей 1953 года; 28 февраля во многих штатах США; 1 марта в Новой Зеландии и ряде стран Содружества); инструмент выбирает значение по умолчанию и показывает обе возможные даты
- Китайский зодиак: animal = ZODIAC[(year − 4) mod 12]; китайский Новый год выпадает на период с 21 января по 21 февраля, поэтому для полной точности рождённым в начале григорианского года нужна сверка по лунному календарю
- Часовой пояс: Date.getFullYear/getMonth/getDate считывают IANA-пояс хоста, что может сместить отображаемый возраст на один день для рождённых около полуночи по UTC; варианты Date.UTC используются, когда требуется инвариантность к переходу на летнее время
- Подводные камни JavaScript: месяц нумеруется с нуля (0 = январь), new Date('YYYY-MM-DD') разбирается как UTC, тогда как new Date('YYYY/MM/DD') — как местное время, а getDay возвращает 0 для воскресенья
Примеры
Базовый расчёт возраста
Введите дату рождения: 1990-06-15, результат показывает: 35 лет, 11 месяцев, 18 дней (на 2026-06-02)Обратный отсчёт до дня рождения
Введите дату рождения: 1985-12-25, показывает количество дней до следующего дня рождения на РождествоЗнак китайского зодиака
Год рождения 2000 — Дракон, год рождения 1996 — КрысаЧасто задаваемые вопросы
Как считается точный возраст?
От даты рождения до сегодняшнего дня страница отдельно показывает количество лет, месяцев и дней, а также общий возраст в днях, неделях, часах, минутах и секундах. Значение «лет» увеличивается только после годовщины по числу и месяцу — так возраст указывают в официальных документах.
Почему мой возраст на год меньше, чем я ожидаю?
Скорее всего, ваш день рождения в этом году ещё не наступил. Калькулятор использует юридическую конвенцию: вам исполняется 30 только после 30-го дня рождения, а не 1 января того года, когда вам должно исполниться 30. Восточноазиатский «номинальный возраст» (虛歲) добавляет год при рождении и ещё один на каждый Новый год по лунному календарю — этот инструмент же показывает международный стандарт.
В каком часовом поясе считается «сегодня»?
В часовом поясе вашего устройства. Если вы перелетите через несколько часовых поясов, отображаемое количество секунд жизни может сдвинуться на часы; счёт по дням и месяцам это не затронет, потому что он сравнивает календарные даты.
Как обрабатываются дни рождения 29 февраля?
В невисокосные годы страница по умолчанию считает годовщиной 1 марта (так делает большинство юрисдикций). Где-то годовщиной считают 28 февраля; если конкретный день важен с юридической точки зрения, сверьтесь с местными правилами.
Когда мой следующий день рождения?
В блоке «следующий день рождения» показаны дата и количество оставшихся дней. Также указан день недели, чтобы можно было заранее всё спланировать. Для родившихся 29 февраля в невисокосные годы рядом с отображаемым 1 марта показывается ближайшее «настоящее» 29 февраля.
Считаются ли западный и китайский гороскопы?
Да. Западный знак зодиака рассчитывается по числу и месяцу. Китайский знак — по лунному Новому году года рождения, поэтому январский или февральский день рождения может попасть на животное предыдущего года, а не календарного, и это правильно.
Сохраняется ли дата рождения и отправляется ли куда-то?
Нет. Все вычисления выполняются прямо в вашем браузере. Чтобы очистить ввод, обновите страницу. Ничего не логируется и не передаётся.