-
[TIL] javasciprt 만 나이 계산하기Develope/Assignment 2020. 4. 23. 00:57
1. 문제
미국을 비롯해 전세계 대부분의 나라들이 생일을 기준으로 나이를 계산 합니다. 생일이 지나야 비로소 한 살을 더 먹게됩니다. 그에 비해 우리나라는 새해가 되면 모든 국민이 1살을 더 먹는 방식 입니다. 태어나면 1살 부터 시작하고 새해때 2살이 됩니다. 그래서 10월 이나 11월에 태어나는 아기들은 한두달 안에 2살이 되버리기도 하죠. 1살 차이도 크게 생각하는 우리나라 고유의 문화에 비롯한 계산법이 아닌가 추측해 봅니다. 미국이나 다른 나라가 사용하는 나이 계산법은 우리나라에서는 만나이 라고 하죠. getWesternAge 함수를 구현해주세요. getWesternAge 함수는 birthday 라는 인자(input)를 받습니다. birthday는 Date 객체이며 생일을 나타냅니다. 현재 기준으로 해당 생일이 만으로 몇살인지 계산 후 리턴해주세요. 예를 들어, 오늘이 2019년 3월 23일이고, birthday 값이 다음과 같다면: 1990-03-21T00:45:06.562Z 리턴 값은 29 이 되어야 합니다.
2. 해결
function getWesternAge(birthday) { let birth = new Date(birthday); let birthYear = birth.getFullYear(); // 생일년도 let today = new Date(); // 오늘날짜 let todayYear = today.getFullYear(); // 오늘년도 let age = todayYear - birthYear ; // 오늘년도 - 생일년도 = 나이 birth.setFullYear(todayYear); // 생년월일 객체의 연도를 오늘 날짜 객체의 연도로 변경 if( today > birth) { // 같은 연도가 된 객체를 비교하여 월일이 지났는지 여부 판단 age; // 생일이 안지났으면 나이 } else { age--; // } return age; } getWesternAge('1981-07-29T03:24:00');
아직도 만 나이 개념이 헷갈린다..
'Develope > Assignment' 카테고리의 다른 글
[Assignment] 위스타그램 코딩 Chapter 2. main page (0) 2020.05.02 [Assignment] 위스타그램 코딩 Chapter 1. login page (0) 2020.05.01 [Study] 인스타그램 클론코딩 Chapter 1. (0) 2020.03.31 [Study] 자기소개 페이지 Chapter 2. (0) 2020.03.27 [Study] 자기소개 페이지 Chapter 1. (0) 2020.03.26