Web Programming/JavaScript & TypeScript
자바스크립트로 만 나이, 연 나이, 세는 나이 한번에 구하기
신재헌
2022. 4. 13. 04:44
연단위로 나이를 세는 경우, 만 나이, 연 나이, 세는 나이 이렇게 3가지가 나올 수가 있다. 각각 나이의 사용은 다음과 같다.
만 나이 : 법적 나이로, 법률 및 공문서 등에는 만 나이를 사용해야 한다.
연 나이 : 연도를 제외한 생일을 모를 때 사용할 수 있다. 또한 청소년 보호법 등에서, "n세가 되는 해의 1월 1일을 맞이한 사람"처럼 우회적으로 사용하기도 한다.
세는 나이 : 주로 일상 생활에서 사용하는 나이로, 연 나이에 한 살을 더한 값인 '햇수'다.
다음 함수는 2022년 4월 13일 기준으로 1970년 12월 31일생의 나이를 {age: 51, yearAge: 52, countingAge: 53}으로 반환한다.
아래 코드를 사용하면 나이 계산을 만나이, 연나이, 세는나이를 한번에 할 수 있다.
function getAge(birthdate) {
const today = new Date();
const yearDiff = today.getFullYear() - birthdate.getFullYear();
const monthDiff = today.getMonth() - birthdate.getMonth();
const dateDiff = today.getDate() - birthdate.getDate();
const isBeforeBirthDay = monthDiff < 0 || monthDiff === 0 && dateDiff < 0;
return {
age: yearDiff + (isBeforeBirthDay ? -1 : 0),
yearAge: yearDiff,
countingAge: yearDiff + 1,
}
}
반응형