입력 받은 날짜 두개의 남은 일수를 알아보자
let p = /(\.)|(\-)|(\/)/g;
startDate = startDate.replace(p,'');
endDate = endDate.replace(p,'');
// 유효성 검사 진행
// throw: 오류발생시 출력
if(! isValidDateFormat(startDate)) throw '시작날짜형식이 올바르지 않습니다';
if(! isValidDateFormat(endDate)) throw '종료날짜형식이 올바르지 않습니다';
// substr(a,b):a 번쨰 부터 b갯수 만큼 가져온다
// parseInt: 데이터타입을 number로 변환한다
let sy = parseInt(startDate.substr(0,4));
let sm = parseInt(startDate.substr(4,2));
let sd = parseInt(startDate.substr(6));
let ey = parseInt(endDate.substr(0,4));
let em = parseInt(endDate.substr(4,2));
let ed = parseInt(endDate.substr(6));
let sdate = new Date(sy,sm-1,sd);
let edate = new Date(ey,em-1,ed);
let dif = edate.getTime() - sdate.getTime();
// ms 기준으로 나온다
let day = Math.floor(dif/(24*60*60*1000));
// dif값은 ms 기준이므로 24H 60M 60S 1000MS를 곱하여 dif와 나눈다
//return day;
return day+1;
날짜 형식을 String으로 받아 substr로 자르고 parseInt로 타입을 변환 해서 남은일을 계산해봤다 그러다보니 코드라인이 많은거 같은데 줄일 방법이 없나 생각해보자
전역일 계산기가 이렇게 만들었구나...