Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

두 날짜 사이의 일 수 찾기 JavaScript

<시간/>

'YYYY-MM-DD' 형식의 두 날짜를 각각 첫 번째 인수와 두 번째 인수로 사용하는 JavaScript 함수를 작성해야 합니다. 그러면 함수가 두 날짜 사이의 일 수를 계산하여 반환해야 합니다.

예를 들어 -

입력 날짜가 -

인 경우
const str1 = '2020-05-21';
const str2 = '2020-05-25';

그러면 출력은 다음과 같아야 합니다. -

const output = 4;

예시

const str2 = '2020-05-25';
const daysBetweenDates = (str1, str2) => {
   const leapYears = (year, month) => {
      if (month <= 2){
         --year;
      };
      let floor = Math.floor;
      return floor(year / 400) + floor(year / 4) - floor(year / 100);
   };
   let monthDays = [0, 0, 31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30];
   for (let i = 1; i < monthDays.length; ++i){
      monthDays[i] += monthDays[i - 1];
   };
   let days = (year, month, d) => (year * 365) + leapYears(year, month) + monthDays[month] + d; let p = days(...str1.split('-').map(Number));
   let q = days(...str2.split('-').map(Number));
   return Math.abs(p - q);
};
console.log(daysBetweenDates(str1, str2));

출력

콘솔의 출력은 -

4