Как посчитать возраст из даты DD.MM.YYYY

Как мне посчитать возраст подскажите пожалуйста в конст вносится значения такого вида DD.MM.YYYY

const [vozrast12, setVozrast12] = useState('15.12.1998')

как мне высчитать возраст на текущую дату с new Date что то не получается выводит NaN


Ответы (1 шт):

Автор решения: SwaD

Считаем разницу лет

Разбиваем строку по '.' и преобразуем значение в число
Создаем дату "пользователя"
Получаем текущую дату
Высчитываем год и месяц, который прошел и возвращаем.

const strDate = '15.12.1998';

function getAge(str) {
  const dd = str.split('.').map(d => Number(d));
  const ageEnter = new Date(dd[2], dd[1] - 1, dd[0], 0, 0, 0, 0);
  const dateNow = new Date();
  const age = dateNow.getFullYear() - ageEnter.getFullYear();
  const month = dateNow.getMonth() - ageEnter.getMonth();
  return `Возраст ${age} лет и ${month} месяцев`
}

console.log(getAge(strDate));

→ Ссылка