Возраст в полных годах
Задача по программированию с проверкой онлайн
- Сложность
- Лёгкая
- Языки
- 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