대여일과 반납일의 기간이 14일 이상일 경우 alert
을 띄워 사용자에게 알려주는 작업을 했다.
resDate
와 resReturnDate
에 각각 대여일과 반납일이 'YYYYMMDD'
의 String 형식으로 저장되어 있어 slice
를 통해 잘라서 new Date
의 파라미터로 넣어주었다.
PC와 안드로이드에서는 잘 작동을 하는데 IOS에서는 alert이 나오지 않는 문제가 발생했다.
구글링을 통해 IOS에서는 표준표기법으로 new Date
의 파라미터를 전달해줘야 하는 이슈가 있는 것을 알아냈다. ex) new Date(2021,05,28)
const startDate = new Date(Number(resDate.slice(0,4)),Number(resDate.slice(4,6))-1,Number(resDate.slice(6)));
const endDate = new Date(Number(resReturnDate.slice(0,4)),Number(resReturnDate.slice(4,6))-1,Number(resReturnDate.slice(6)));
const dateDiff = Math.ceil((endDate.getTime()-startDate.getTime())/(1000*3600*24));
if (dateDiff >= 14) {
alert("최대 13박까지 검색 및 대여 가능 합니다.");
return;
}
위의 코드와 같이 각 파라미터를 Number로 형변환해주니 IOS에서도 잘 작동했다.
참고로 월(month)은 0부터 시작하기 때문에 -1을 해줘야한다!