[new Date]_날자 함수 Date() 정리
2022. 5. 26. 17:41ㆍ[프론트엔드]_/[Javascript]_ES6
728x90
반응형
목적 : 오늘 날자 구하기, 오늘 날자로부터 7일 뒤 날자 구하기, 년,월 이 지나도 정상적으로 작동 유지
문제점 : 년 월 일 을 나눠서 "-" 를 붙이면서
각각의 종류가 최대치를 넘기는 경우의 수를 예상하지 못하여
33일 등 말도 안되는 날자가 출력된 점 수정
let day = date.getDate() +7;
해결:
let date = new Date();
date.setDate(date.getDate() +7);
let year = date.getFullYear();
let month = date.getMonth() +1;
let day = date.getDate();
let stringDate = year+"-"+month+"-"+day;
date 객체를 생성한 뒤. setDate 를 사용해서 생성한 Date 객체에 "일" 에 해당하는 getDate 함수를 이용하여
오늘날자를 받아오고 이를 7을 더한 뒤 Date 객체에 셋팅합니다.
이렇게 세팅할 경우 일 월 이 최대치 [12월 혹은 28일, 30일 31일 ] 을 초과해도 정상적으로 년/ 월이 바뀌게 됩니다.
또한 string 으로 만들기 위해서 각각을 분리하였는데, getMonth의 경우 한달 차이나는 점을 기억하시면 될 거 같습니다.
if(month > 12){
month = 1;
}
을 추가하여 13월이 되지 않도록 합니다.
추가적으로 "yyyy-mm-dd" 의 형식을 비교할 때
let comapreDate = new Date(stringDate);
이런식으로 date 객체에 담을 경우 서로 비교가 가능합니다.
감사합니다.
728x90
반응형
'[프론트엔드]_ > [Javascript]_ES6' 카테고리의 다른 글
[Timer 구현]_setInterval, setTimeout 이용한 스케쥴링 (0) | 2022.06.09 |
---|---|
[JavaScript]_Closure (클로저) (0) | 2022.05.31 |
[Window.history]_history.back() 감지 함수 (0) | 2022.05.26 |
[이벤트 위임]_ul li 이벤트 위임. (0) | 2022.05.24 |
[FileUpload]_DataTransfer() 를 사용한 multiple 업로드 구현 (0) | 2022.05.15 |