문제
회사에서 가장 성실하기로 유명한 재상이는 지난달에 이어 이번 달에도 이달의 우수사원으로 뽑혀 감회가 새롭습니다.
문득, 그동안 고생한 지난날이 머릿속을 스쳐지나면서 자신이 입사한 지 얼마나 지났는지도 궁금해졌는데요. 오늘은 날짜는 2112년 8월 24일이고, 재상이의 입사일은 2109년 7월 1일입니다. Date객체와 메소드를 활용해서 재상이가 입사한 지 며칠째인지를 계산해주는 workDayCalc 함수를 완성해 주세요.
(만약 8월 24일에 입사했고, 오늘이 8월 24일이면 0일이 아니라, '입사한 지 1일째'입니다.)
출력 결과
오늘은 입사한 지 1151일째 되는 날 입니다.
풀이 및 답
let today = new Date(2112, 8, 24);
let jaeSangStart = new Date(2109, 7, 1);
function workDayCalc(startDate) {
// 1.타임스탬프를 활용해서 오늘 날짜와 재상의 입사 날짜의 차이를 구해서 변수에 담기
// -> 타임스탬프는 두 날짜간 차이를 구하는데 유용
let time = today.getTime() - jaeSangStart.getTime();
// 2.타임스탬프는 단위가 밀리초이며, 이 값을 일수로 바꿔주어야 함
// 1000밀리초 = 1초, 60초가 1분, 60분이 1시간, 24시간이 하루
let day = time / 1000 / 60 / 60 / 24;
// 3.두 날짜간의 차이값인 day에 +1을 해주어야 며칠째 인지 알 수 있음
console.log(`오늘은 입사한 지 ${day+1}일째 되는 날 입니다.`);
}
workDayCalc(jaeSangStart);
'DEV > └ JavaScript EX' 카테고리의 다른 글
배열 | for...of문 활용해서 투표 집계하기 (0) | 2022.02.02 |
---|---|
배열 | splice 연습 (0) | 2022.01.30 |
객체 | for...in 반복문 활용 (0) | 2022.01.30 |
객체 | 영어 단어장 3 (0) | 2022.01.30 |
객체 | 영어 단어장 2 (0) | 2022.01.30 |