как вычислить возраст по дате рождения в формате yyyymmdd на javascript

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
22 декабря 2024

Для вычисления возраста на JavaScript по дате рождения в формате yyyymmdd, вам необходимо выполнить несколько шагов: разобрать строку даты рождения, создать объект Date, получить текущую дату и затем вычислить разницу между ними:

function calculateAge(birthDateString) {
    // Обрабатываем аргумент birthDateString (yyyyMMdd)
    const year = parseInt(birthDateString.substring(0, 4), 10);
    const month = parseInt(birthDateString.substring(4, 6), 10) - 1; // Месяцы начинаются с 0
    const day = parseInt(birthDateString.substring(6, 8), 10);

    // Создаем объект Date для даты рождения
    const birthDate = new Date(year, month, day);

    // Получаем текущую дату
    const today = new Date();

    // Вычисляем возраст
    let age = today.getFullYear() - birthDate.getFullYear();

    // Проверяем, прошел ли день рождения в текущем году
    const hasBirthdayPassed = today.getMonth() > month || (today.getMonth() === month && today.getDate() >= day);
    if (!hasBirthdayPassed) {
        age--; // Если дня рождения еще не было в этом году, уменьшаем на 1
    }

    return age;
}

// Пример использования
const birthDateString = "19900115"; // 15 января 1990 года
const age = calculateAge(birthDateString);
console.log(`Ваш возраст: ${age} лет`);
0 0