Возраст в полных годах

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Даты и время
Разбор и проверка данных
Исключения

Даны дата рождения и сегодняшняя дата. Верните возраст в полных годах: разность лет, уменьшенная на 1, если день рождения в этом году ещё не наступил. День рождения наступает, когда пара «месяц, день» сегодняшней даты не меньше пары даты рождения; поэтому родившийся 29 февраля становится на год старше 1 марта в невисокосный год.

Дата — строка ГГГГ-ММ-ДД ровно из 10 символов: год из четырёх цифр (от 0001), месяц и день из двух цифр. Календарь григорианский, часовых поясов нет; год високосный, если он кратен 4 и не кратен 100 либо кратен 400. Дата, которой нет в календаре (2023-02-29, месяц 13), считается неверной. Если любая из дат неверная или дата рождения позже сегодняшней, сообщите об ошибке: бросьте исключение, в Go верните error.

Пример: "2000-05-15", "2024-05-14" → 23.


Источник: задача CodeShare

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки