블로그로 돌아가기
3 min read

JavaScript로 나이를 계산하는 방법(DOB에서 연, 월, 일)

JavaScript로 생년월일로부터 나이를 계산하는 실용적인 방법을 알아보세요. 정확한 연도, 월, 일, 현재 날짜 옵션, 시간대 및 윤년과 같은 일반적인 함정이 포함됩니다.

JavaScript로 나이를 계산하는 방법(DOB에서 연, 월, 일)

자바스크립트에서 생년월일(DOB)을 기준으로 사람의 나이를 계산해야 하는 경우 몇 가지 다른 방법을 사용할 수 있습니다. 핵심은 나이:

의 의미를 결정하는 것입니다.
  • 완료 연령(가장 일반적)
  • 정확한 연령(년, 월, 일)
  • 특정 날짜 기준 연령(항상 오늘은 아님)

1) 완료된 연도를 기준으로 나이 계산(간단하고 정확함)

이것이 표준 접근 방식입니다. 연도를 빼고 올해 생일이 아직 지나지 않은 경우 조정합니다.

함수 ageInYears(dob, asOf = new Date()) {
  const 출생 = 새로운 날짜(dob);
  const ref = 새로운 날짜(asOf);

  년 = ref.getFullYear() -birth.getFullYear();
  const m = ref.getMonth() -birth.getMonth();

  if (m < 0 || (m === 0 && ref.getDate() 

예: DOB 2000-02-10이고 2026-02-09 기준으로 25(내일 생일)가 지정됩니다.

2) 정확한 연령 계산(년, 월, 일)

정확한 분석을 원할 경우 필요한 경우 이전 달에서 '차용'하여 먼저 연도, 월, 일을 계산할 수 있습니다.

함수 정확한Age(dob, asOf = new Date()) {
  const 출생 = 새로운 날짜(dob);
  const ref = 새로운 날짜(asOf);

  년 = ref.getFullYear() -birth.getFullYear();
  월 = ref.getMonth() -birth.getMonth();
  일수 = ref.getDate() -birth.getDate();

  // 전월의 자료를 빌려 요일을 조정합니다.
  if (일 < 0) {
    const prevMonth = new Date(ref.getFullYear(), ref.getMonth(), 0); // 0일 = 이전 달의 마지막 날
    일 += prevMonth.getDate();
    개월--;
  }

  // 전년도에서 빌려서 월을 조정합니다.
  if (개월 < 0) {
    개월 += 12;
    연령--;
  }

  {년, 월, 일 }을 반환합니다.
}

참고: 날짜가 특이한 경우(예: 31일 DOB)에는 신중한 테스트가 필요합니다. 모든 로케일과 특별한 경우에 걸쳐 강력한 기능이 필요한 경우 잘 테스트된 날짜 라이브러리를 사용하는 것이 좋습니다.

3) 과거 또는 미래 날짜의 연령에 '기준' 날짜를 사용합니다.

많은 앱에는 특정 기준 날짜(보험, 자격 규칙, 학년 마감일)의 연령이 필요합니다. 위의 두 함수 모두 asOf 매개변수를 허용하므로 다음을 수행할 수 있습니다.

ageInYears('1995-06-20', '2030-01-01');
정확한Age('1995-06-20', '2030-01-01');

일반적인 함정(및 이를 방지하는 방법)

  • 시간대: 구문 분석 YYYY-MM-DD는 환경에 따라 다르게 작동할 수 있습니다. 날짜만 중요하다면 날짜를 현지 시간으로 작성하세요. new Date(year, MonthIndex, day).
  • 윤일 생일: 윤년이 아닌 해(2월 28일 또는 3월 1일)의 2월 29일에 대한 규칙을 결정합니다. 일관성을 유지하세요.
  • 잘못된 입력: DOB가 미래 날짜가 아닌 실제 날짜인지 확인하세요.

빠른 옵션: 온라인 연령 계산기 사용

당신이답변이 필요하거나 구현을 검증하려면 무료 계산기를 사용하세요. 온라인 연령 계산.

관련 가이드

FAQ

나이를 계산하는 가장 정확한 방법은 무엇인가요?

대부분의 경우 '완료 연도'(전체 연도 기준)가 표준입니다. 전체 분석이 필요한 경우 연도를 먼저 계산한 다음 월, 일을 계산하고 월 길이 및 윤년과 같은 극단적인 경우를 테스트하세요.

자바스크립트가 날짜 문자열에 잘못된 날짜를 제공하는 이유는 무엇입니까?

new Date('YYYY-MM-DD')는 일부 환경에서 UTC로 해석될 수 있기 때문입니다. 현지 달력 날짜가 중요하다면 해당 부분을 구문 분석하고 새 날짜(y, m, d).

를 사용하세요.