본문으로 바로가기

[JavaScript] 만 나이 계산하는 방법

만 나이를 계산해야하는 경우가 생겨 간단하게 구현하였습니다.
사실 0세 미만의 나이는 없지만 예외처리는 따로 하지 않고 0으로 반환하였습니다.

로직은 간단하여 설명은 생락하도록 하겠습니다.

const getFullAge = (dob: Date, target: Date = new Date()) => {
  const dobYear = dob.getFullYear();
  const dobMonth = dob.getMonth() + 1;
  const dobDate = dob.getDate();

  const targetYear = target.getFullYear();
  const targetMonth = target.getMonth() + 1;
  const targetDate = target.getDate();

  const age = targetYear - dobYear;

  // age가 음수인 경우도 0으로 처리
  if (age <= 0) return 0;
  if (targetMonth < dobMonth) return age - 1;
  if (targetMonth === dobMonth && targetDate < dobDate) return age - 1;
  return age;
};
반응형