Скидки до 28% + 2-ая профессия бесплатно и подарки на 50 000₽

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

Аватар пользователя Ivan Gagarinov
Ivan Gagarinov
5 дней назад

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

  1. Разделить строку даты на компоненты: год, месяц и день.
  2. Создать объект Date на основе этих значений.
  3. Получить текущую дату и вычислить разницу в годах.
  4. Проверить, наступил ли день рождения в текущем году, чтобы скорректировать возраст, если необходимо.

Вот как это может выглядеть в коде:

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} лет`);

Пояснения:

  1. Парсинг строки: Мы берем первые 4 символа для года, следующие 2 для месяца и последние 2 для дня. Также помним, что месяцы в JavaScript начинаются с 0 (январь - 0, февраль - 1 и т.д.), поэтому от месяца мы вычитаем 1.

  2. Создание объекта Date: Используя разобранные значения, создаем новый объект Date, который будет представлять дату рождения.

  3. Нахождение текущей даты: Создаем еще один объект Date, который представляет текущую дату.

  4. Вычисление возраста: Разница в годах вычисляется простым вычитанием. Однако, если день рождения еще не наступил в текущем году, мы уменьшаем возраст на 1.

Эта функция может быть использована для быстрого вычисления возраста, и вы можете легко адаптировать ее по мере необходимости для ваших конкретных требований (например, добавлением проверки на корректность входных данных).

0 0

Есть что добавить? Зарегистрируйтесь

или войдите в аккаунт

Отправляя форму, вы принимаете «Соглашение об обработке персональных данных» и условия «Оферты», а также соглашаетесь с «Условиями использования»

Курсы по программированию в Хекслете

Программирование

Веб-разработка

Разработка, верстка и деплой сайтов и веб-приложений, трудоустройство для разработчиков

Frontend-разработка

Разработка внешнего интерфейса сайтов и веб-приложений и верстка

Создание сайтов

Разработка сайтов и веб-приложений на JS, Python, Java, PHP и Ruby on Rails

Backend-разработка

Разработка серверной части сайтов и веб-приложений

Тестирование

Ручное тестирование и автоматизированное тестирование на JS, Python, Java и PHP

Аналитика данных

Сбор, анализ и интерпретация данных на Python

Интенсивные курсы

Интенсивное обучение для продолжающих

DevOps

Автоматизация настройки локального окружения и серверов, развертывания и деплоя

Математика для программистов

Обучение разделам математики, которые будут полезны при изучении программирования

JavaScript

Разработка сайтов и веб-приложений и автоматизированное тестирование на JS

Тест-драйв

Python

Веб-разработка, автоматическое тестирование и аналитика данных на Python

Java

Веб-разработка и автоматическое тестирование на Java

PHP

Веб-разработка и автоматическое тестирование на PHP

Ruby

Разработка сайтов и веб-приложений на Ruby on Rails

Go

Курсы по веб-разработке на языке Go

Верстка

HTML

Современная верстка с помощью HTML и CSS

SQL

Проектирование базы данных, выполнение SQL-запросов и изучение реляционных СУБД

Git

Система управления версиями Git, регулярные выражения и основы командой строки

Бесплатные курсы

Бесплатные курсы по тестированию, дата-аналитике, верстке, программированию на Python, Java, PHP и JavaScript.

Базы данных

Фреймворки