본문 바로가기
PROGRAMMING/JAVASCRIPT

javascript 생년월일 기준 만나이 계산하기

by itengineer 2023. 7. 7.
반응형

JavaScript를 사용하여 생년월일을 기반으로 만 나이를 계산하는 방법은 다음과 같습니다.

function calculateAge(birthDate) {
  // 생년월일을 '년', '월', '일'로 분리합니다.
  var birthYear = birthDate.getFullYear();
  var birthMonth = birthDate.getMonth();
  var birthDay = birthDate.getDate();

  // 현재 날짜를 가져옵니다.
  var currentDate = new Date();
  var currentYear = currentDate.getFullYear();
  var currentMonth = currentDate.getMonth();
  var currentDay = currentDate.getDate();

  // 만 나이를 계산합니다.
  var age = currentYear - birthYear;

  // 현재 월과 생일의 월을 비교합니다.
  if (currentMonth < birthMonth) {
    age--;
  }
  // 현재 월과 생일의 월이 같은 경우, 현재 일과 생일의 일을 비교합니다.
  else if (currentMonth === birthMonth && currentDay < birthDay) {
    age--;
  }

  return age;
}

// 생년월일을 입력합니다.
var birthDate = new Date('1990-01-01');
// 만나이를 계산합니다.
var age = calculateAge(birthDate);
console.log(age); // 예상 결과: 33



위의 예제 코드에서는 calculateAge라는 함수를 정의합니다. 이 함수는 birthDate라는 인자로 생년월일을 받습니다. 

먼저, 현재 날짜를 가져오고, 생년월일에서 년, 월, 일을 분리합니다. 그런 다음 현재 연도와 생년의 연도를 비교하여 초기 만 나이를 계산합니다.

현재 월과 생일의 월을 비교하여 만 나이를 조정하고, 현재 월과 생일의 월이 같은 경우 현재 일과 생일의 일을 비교하여 만 나이를 더 조정합니다.

마지막으로, 계산된 만 나이를 반환합니다.

위의 예제 코드에서는 1990-01-01을 생년월일로 입력하여 만 나이를 계산하고, 결과를 콘솔에 출력하도록 설정되어 있습니다. 결과로 예상되는 값은 33입니다. 생년월일을 변경하여 다른 날짜의 만 나이를 계산할 수도 있습니다.

 

한국식으로 나이를 계산하는 방법은 서양식과 약간 다릅니다. 한국식 나이는 생년월일이 아닌 현재 연도를 기준으로 계산되며, 새해가 오면 나이가 한 살씩 더해집니다. 따라서, 생년월일을 기반으로 한국식 나이를 계산하려면 현재 연도를 이용하여 연산을 추가해야 합니다. 아래에 수정된 코드를 제시하겠습니다.

function calculateKoreanAge(birthDate) {
  var currentYear = new Date().getFullYear();  // 현재 연도를 가져옵니다.
  var birthYear = birthDate.getFullYear();  // 생년을 가져옵니다.

  var koreanAge = currentYear - birthYear + 1;  // 한국식 나이 계산

  return koreanAge;
}

// 생년월일을 입력합니다.
var birthDate = new Date('1990-01-01');
// 한국식 나이를 계산합니다.
var koreanAge = calculateKoreanAge(birthDate);
console.log(koreanAge);  // 예상 결과: 34

 

 

변경된 부분은 다음과 같습니다.

  • 함수 이름이 calculateKoreanAge로 변경되었습니다.
  • currentYear - birthYear + 1을 사용하여 한국식 나이를 계산합니다. 이 때, +1을 해주는 이유는 새해가 되면 나이가 한 살 더해지기 때문입니다.

반응형

'PROGRAMMING > JAVASCRIPT' 카테고리의 다른 글

javascript 파일 업로드전에 파일 체크  (0) 2023.07.12

댓글