Выберите известные данные
Фиксированный пример
2023-02-280 / 1 / 0Используйте полные годы, годы/месяцы/дни или календарные дни. Не придумывайте неизвестные части возраста.
Восстановите возможную григорианскую дату или период рождения по записанному возрасту либо общему числу дней. Сравните правила и скачайте результат.
Восстановите возможную григорианскую дату или период рождения по записанному возрасту либо общему числу дней. Сравните правила и скачайте результат.
Фиксированный пример
2023-02-280 / 1 / 0Используйте полные годы, годы/месяцы/дни или календарные дни. Не придумывайте неизвестные части возраста.
Фиксированный пример
2023-01-282023-01-292023-01-302023-01-31Возьмите день, на который был записан возраст, и правило годовщины из исходного расчёта.
Фиксированный пример
01-28 / 29 / 30 / 312023-02-28Результат может содержать одну дату или несколько вариантов. Сохраните дату расчёта и метод вместе с ним.
Вымышленная запись от 2026-06-15 говорит только: 25 лет. Выберите режим Только полные годы и введите эту дату, а не оставляйте Сегодня и не заполняйте отсутствующие месяцы и дни нулями. При обычном правиле дня рождения подходящее окно — с 2000-06-16 по 2001-06-15, причём обе границы включены. Более позднее письмо может сузить это окно, но само утверждение о возрасте не выделяет один день рождения. Сохраняйте дату записи рядом с периодом, чтобы проверяющий мог воспроизвести, что именно следует из утверждения.
Для теста поля даты, пересекающего високосный день, выберите Всего календарных дней, дату расчёта 2024-03-01 и счёт 1. Восстановленная дата будет 2024-02-29. Счёт 0 даёт 2024-03-01, а счёт 2 — 2024-02-28. Эти соседние случаи выявляют ошибки включительного подсчёта и високосного года без использования данных реального человека. Сохраняйте счёт и дату расчёта вместе с созданной фикстурой; если позже заменить дату расчёта на Сегодня, тестовые данные изменятся, хотя счёт дней останется тем же.
Вымышленная заметка говорит о ровно одном месяце на 2023-02-28. Введите 0 лет, 1 месяц и 0 дней с этой датой расчёта. Четыре подходящие даты рождения, с 28 по 31 января, каждая воспроизводит возраст после ограничения концом месяца. Проверьте каждую в калькуляторе возраста с тем же правилом, а не выбирайте 28 января только потому, что она первая. Если другая запись говорит, что рождение было после 29 января, можно сузить кандидатов этим свидетельством; сам калькулятор не ранжирует даты по вероятности.

Расчёт даты рождения не всегда сводится к одному вычитанию. Календарные месяцы имеют разную длину, прибавления в конце месяца могут ограничиваться последним днём, а возраст только в годах описывает целый набор возможных дней рождения.
В инструменте есть три режима: годы, месяцы и дни; только полные годы; и всего календарных дней. Первые два режима используют то же прямое правило возраста, что и калькулятор возраста, а всего календарных дней вычитает целый счёт дней из даты расчёта.
Для полного возраста движок перебирает правдоподобные даты-кандидаты и оставляет только те, которые воспроизводят введённый возраст. Это следует модели гражданской даты, описанной в документации Temporal.PlainDate, вместо притворства, что каждый месяц можно аккуратно обратить.
Область результата показывает режим, дату расчёта, восстановленную дату или возможный период, а также число кандидатов. Режим точного возраста перечисляет даты-кандидаты ISO, когда совпадает несколько дат; режим только лет кратко показывает подходящий промежуток, потому что полный возраст в годах естественно охватывает много дат.
01-28 / 29 / 30 / 312023-02-28Используйте режим, который соответствует фактически имеющемуся свидетельству. Добавление угаданных месяцев или дней делает результат внешне точнее, но не делает исходную запись точнее.
Режим Годы, месяцы и дни подходит для полного утверждения о возрасте, например 25 лет, 4 месяца и 6 дней на известную дату расчёта. Только полные годы подходит для обычных фраз вроде 25 лет. Всего календарных дней подходит для точного соглашения о счёте дней.
Переключатель годовщины 29 февраля появляется для двух режимов на основе возраста, потому что он меняет проверку прямого возраста. Режим Всего календарных дней не использует этот переключатель, потому что вычитание счёта дней — другая операция.
| Режим | Показанные вводы | Что результат может честно сказать |
|---|---|---|
| Годы, месяцы и дни | Годы, месяцы, дни, дата расчёта и правило 29 февраля. | Одна дата или список подходящих дат, которые воспроизводят полный возраст. |
| Только полные годы | Годы, дата расчёта и правило 29 февраля. | Возможный период рождения и число кандидатов для этого полного возраста. |
| Всего календарных дней | Общий счёт дней и дата расчёта. | Одна восстановленная дата, если счёт дней допустим в поддерживаемом диапазоне. |
Вычитание может стереть информацию рядом с концами месяцев. Вместо того чтобы один раз вычесть показанный возраст и довериться единственному ответу, движок проверяет каждую правдоподобную дату рождения в соответствующем годовом промежутке.
Каждый кандидат проходит через тот же прямой расчёт возраста, который использует калькулятор возраста. Если годы, месяцы и дни совпадают с вводом, кандидат сохраняется; если нет — отбрасывается.
Поэтому некоторые вводы дают несколько совпадений, а некоторые не дают ни одного. Результат без совпадений — не просто сообщение об ошибке; он может показать невозможную комбинацию, например счёт дней или пару месяц/день, которую прямое правило никогда не создаёт для этой даты расчёта.
| Итог | Что показывает страница | Что делать дальше |
|---|---|---|
| Одно совпадение | Восстановленная дата рождения и день недели. | Перепроверьте её в калькуляторе возраста, если результат важен. |
| Несколько совпадений точного возраста | Период, число кандидатов и даты-кандидаты ISO. | Сохраняйте всех кандидатов, если другая запись не сужает день рождения. |
| Совпадения только по годам | Возможный период и число кандидатов. | Считайте границы периода включёнными и не выводите, что каждый источник был точным. |
| Нет совпадений | Ни одна дата рождения не соответствует этим данным по выбранному правилу. | Проверьте дату расчёта, режим, округлённый возраст и соглашение 29 февраля. |
Используйте дату расчёта 2023-02-28 и возраст 0 лет, 1 месяц, 0 дней. По прямому правилу конца месяца 28 января, 29 января, 30 января и 31 января все могут прийти к 28 февраля после одного полного месяца в 2023 году.
Если инструмент просто вычитает один месяц из 28 февраля, он может вернуть только 28 января. Этот ответ не ошибочен как одна возможная дата, но он неполон для правила прямой проверки.
Это главная причина, по которой страница может показывать список кандидатов. Он защищает пользователя от ложной точной даты, когда календарная операция свернула несколько начал в один наблюдаемый возраст.
| Дата рождения-кандидат | Дата расчёта | Прямой результат |
|---|---|---|
2023-01-28 | 2023-02-28 | 0 лет, 1 месяц, 0 дней |
2023-01-29 | 2023-02-28 | 0 лет, 1 месяц, 0 дней |
2023-01-30 | 2023-02-28 | 0 лет, 1 месяц, 0 дней |
2023-01-31 | 2023-02-28 | 0 лет, 1 месяц, 0 дней |
Калькулятор использует григорианские гражданские даты во всём поддерживаемом диапазоне. Обзор календарей Военно-морской обсерватории США объясняет григорианское правило високосных лет и почему вековые годы вроде 1900 являются обычными, а 2000 — високосным.
Записанный возраст — это свидетельство для интерпретации, а не гарантия, что дату рождения можно восстановить. Исходная заметка могла быть округлена, оценена, переписана из другого календаря или измерена по другому соглашению для 29 февраля.
Даты расчёта ограничены сегодняшним днём или более ранними датами, потому что инструмент восстанавливает дату рождения из уже существующей записи. Полные годы должны быть 0-130, месяцы 0-11, дни 0-31, а всего календарных дней 0-60000.
Копирование и скачивание включают показанную сводку, а результат полного возраста с несколькими совпадениями включает фактический список кандидатов. Поделиться отправляет только чистый URL страницы, а не свидетельство или вводы. Храните исходную заметку отдельно: восстановленная сводка не заменяет запись, из которой был взят возраст.
Для полного возраста 25 на 2026-06-15 самый поздний обычный день рождения — 2001-06-15: этот человек достигает 25 лет в дату расчёта. Самый ранний — 2000-06-16: этот человек станет 26 на следующий день. Родившийся 2000-06-15 уже имеет 26 лет и исключается. Поэтому простое вычитание 25 из года расчёта даёт только один край ответа, а не восстановленный день рождения.
Период только по годам не обязан содержать ровно 365 дат. Для одного полного года на 2021-02-28 правило 28 февраля включает 2019-03-01 по 2020-02-29, то есть 366 кандидатов. Правило 1 марта исключает день рождения в високосный день на верхней границе, оставляя 365. Счёт получается из совпадения фактических дат по выбранному правилу, а не из предположения о стандартной длине года.
Всего календарных дней — другой вид свидетельства. При дате расчёта 2024-03-01 счёты 0, 1 и 2 дают соответственно 2024-03-01, 2024-02-29 и 2024-02-28. Каждый результат уникален, потому что движение на целое число гражданских дней назад от известной даты имеет одну конечную точку. Переключатель годовщины 29 февраля для этой операции не нужен; високосный день всё равно считается календарной датой.
Проверьте исходное соглашение счёта перед вводом итога. Если источник называет дату рождения днём 1, а следующую дату днём 2, его включительная метка 2 соответствует здесь разности в один день. Вычитайте единицу только тогда, когда источник явно использует такое соглашение. Не превращайте округлённый возраст, число полных недель или прошедшие часы в точный ввод общего числа дней и не ожидайте, что неопределённость исчезнет.
| Вводы | Результат | Что меняет интерпретацию |
|---|---|---|
25 полных лет на 2026-06-15 | с 2000-06-16 по 2001-06-15 | Обе границы являются кандидатами; день рождения не выделяется. |
1 полный год на 2021-02-28; правило 28 февраля | с 2019-03-01 по 2020-02-29; 366 кандидатов | Рождение в високосный день уже достигло замещающей годовщины. |
1 полный год на 2021-02-28; правило 1 марта | с 2019-03-01 по 2020-02-28; 365 кандидатов | Рождение в високосный день ещё не завершило год. |
1 полный день до 2024-03-01 | 2024-02-29 | Один шаг календарной даты, а не оценка прошедших часов. |
Точное на вид число настолько точно, насколько точна запись за ним. Поле формы со значением возраст 25 могло быть заполнено после дня рождения, до дня рождения или по памяти; калькулятор может моделировать только утверждение, которое вы вводите.
Если запись говорит примерно 25, ввод ровно 25 не переносит слово примерно в математику. Сохраняйте эту неопределённость в заметках и не заменяйте авторитетную запись восстановленной датой.
Когда две записи расходятся, рассчитайте их следствия отдельно, используя дату каждой записи. Пересекающиеся даты-кандидаты могут быть полезными зацепками, но пересечение не доказывает, что какой-либо возраст был записан точно. Не усредняйте две восстановленные границы, чтобы получить дату рождения. Ищите лучший источник, ошибку переписывания, другой календарь или соглашение годовщины прежде чем сужать список подходящих дат.
| Формулировка записи | Режим калькулятора | Ответственная интерпретация |
|---|---|---|
| 25 лет | Только полные годы | Возможный период рождения, а не одна точная дата. |
| 25 лет, 4 месяца, 6 дней | Годы, месяцы и дни | Один или несколько кандидатов, которые воспроизводят полный возраст. |
| 10000 дней | Всего календарных дней | Одна гражданская дата, если день рождения считается днём 0 и дата расчёта известна. |
| Примерно 25 | Ни один точный режим не соответствует неопределённости. | Используйте только сценарий и сохраняйте слово примерно в заметках. |
Правило високосных лет Военно-морской обсерватории США формулирует григорианское исключение для вековых лет: делимости на 100 недостаточно, если год также не делится на 400. Поэтому 1900 и 2100 не являются високосными годами, а 2000 является.
Для рождений 29 февраля настройка годовщины в невисокосный год может изменить, завершил ли кандидат год рядом с концом февраля или началом марта.
Если исходное соглашение неизвестно, сравните и 28 февраля, и 1 марта. Разница границы в один день может изменить восстановленный период, даже когда дата расчёта и текст возраста не меняются.
Календарная система старой записи тоже важна. Этот калькулятор последовательно применяет григорианские правила к каждому поддерживаемому году; он не определяет региональное принятие календаря и не переводит юлианскую метку. Сохраняйте исходный текст даты и любое документированное преобразование перед восстановлением. Иначе результат может быть внутренне согласованным, но отвечать на вопрос о неверной гражданской дате.
| Ситуация | Почему это важно | Проверка |
|---|---|---|
| Рождение могло быть 29 февраля | Выбранная годовщина в невисокосный год меняет прямое сопоставление возраста. | Запустите правила 28 февраля и 1 марта. |
| Запись рядом с февралем или мартом | Соглашение високосного дня может сдвинуть границу периода. | Храните правило рядом с экспортированным результатом. |
| Год является вековым | Упрощение «каждые четыре года» может быть неверным. | Применяйте григорианское исключение 100/400. |
Предупреждение проверки и результат без совпадений означают разное. Пустые или дробные поля возраста не являются допустимыми целочисленными вводами; месяцы должны быть 0-11, а дни 0-31, даже если источник записывает длительность как 14 месяцев. Не сводите такой источник молча к одному году и двум месяцам, не зная его соглашения возраста. Допустимо введённая комбинация всё равно может не иметь совпадений по прямому правилу.
Например, 0 лет, 0 месяцев и 31 день на 2023-03-01 здесь не имеет совпадений. Январское начало, достаточно далёкое для накопления 31 дня, уже завершает календарный месяц с ограничением последним днём к дате расчёта. Предупреждение просит проверить утверждение о возрасте, а не выбрать ближайший правдоподобный день рождения. В режиме всех дней вычитание до 0001-01-01 также не имеет поддерживаемого результата.
Копировать и Скачать сохраняют режим, дату расчёта, результат, счёт и соответствующие вводы. Когда режим полного возраста имеет несколько кандидатов, его экспортированная сводка также включает список кандидатов ISO. Просматривайте этот список, а не только самую раннюю и самую позднюю даты, перед обсуждением возможного дня рождения. Файл clocktools-birth-date.txt — подписанная текстовая сводка, а не свидетельство и не автоматическое обновление базы данных.
Поделиться страницей отправляет только ссылку, удаляя строку запроса и фрагмент. Оно не восстанавливает вашу исходную запись или текущий расчёт для другого человека, и сохранённой истории нет. Если доступ к буферу обмена или скачиванию заблокирован, вручную запишите список кандидатов и его допущения. Неудачную загрузку руководства можно повторить без сброса калькулятора; это не означает, что математический результат не удался.
Калькулятор разбирает допустимую григорианскую дату расчёта, которая не может быть в будущем. В режиме годов, месяцев и дней он проверяет целые годы 0-130, месяцы 0-11 и дни 0-31, затем перебирает правдоподобные даты рождения и сохраняет кандидатов, чей прямой возраст точно совпадает с вводом по выбранному правилу 29 февраля. В режиме полных лет он использует ту же прямую проверку и возвращает полный подходящий промежуток и счёт. В режиме всех календарных дней он проверяет целое число от 0 до 60000 и вычитает столько гражданских дней из даты расчёта. Результат сообщает одну восстановленную дату, возможный период или отсутствие совпадений.
Инструмент восстанавливает математических кандидатов по одному григорианскому правилу; он не проверяет личность, не заменяет авторитетную запись о рождении и не моделирует слова вроде примерно, около или оценочно. Ввод только лет обычно даёт период. Ввод полного возраста всё равно может дать несколько дат рядом с концами месяцев. Дата расчёта должна быть допустимой и не будущей, а все поддерживаемые даты остаются внутри годов 0001-9999. Всего дней — это календарные дни, а не часы, делённые на 24.
Для воспроизводимой проблемы укажите режим, дату расчёта, введённые годы, месяцы, дни или всего дней, выбранное правило 29 февраля, ожидаемые даты-кандидаты и наблюдаемые даты-кандидаты. Используйте вымышленные вводы, если настоящая запись не обязательна. Перед сообщением о дефекте проверьте, был ли исходный возраст округлён, верна ли дата расчёта, должны ли границы быть включены и не объясняет ли разницу другое соглашение високосного дня.