DEV/└ JavaScript EX

객체 | Date객체와 메소드를 활용한 날짜 계산

devvnn 2022. 1. 30. 15:40
문제

 

회사에서 가장 성실하기로 유명한 재상이는 지난달에 이어 이번 달에도 이달의 우수사원으로 뽑혀 감회가 새롭습니다.

문득, 그동안 고생한 지난날이 머릿속을 스쳐지나면서 자신이 입사한 지 얼마나 지났는지도 궁금해졌는데요. 오늘은 날짜는 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);