JavaScript 날짜와 날짜 사이 모든 날짜 구하기
어느 날짜와 또 다른 어느 날짜 사이에 있는 모든 날짜들을 구하는 방법을 알려드리도록 하겠습니다.
yyyy-mm-dd 형식의 문자열로 시작날짜와 마지막 날짜를 받아, 시작 날짜와 마지막 날짜 사이의 모든 날짜를 yyyy-mm-dd 형식의 문자로 배열에 담아 반환하는 함수
function getDatesStartToLast(startDate, lastDate) {
var regex = RegExp(/^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/);
if(!(regex.test(startDate) && regex.test(lastDate))) return "Not Date Format";
var result = [];
var curDate = new Date(startDate);
while(curDate <= new Date(lastDate)) {
result.push(curDate.toISOString().split("T")[0]);
curDate.setDate(curDate.getDate() + 1);
}
return result;
}
위 함수는 yyyy-mm-dd 형식의 문자열로 시작 날짜와 마지막 날짜를 인자값으로 받아,
시작 날짜와 마지막 날짜 사이의 모든 날짜를 yyyy-mm-dd 형식의 문자열로 구하여 배열에 넣고 반환합니다.
시작 날짜와 마지막 날짜를 인자로 받아올 때, 정규식을 통해 올바른 날짜 형식이 아니라면 날짜 형식이 아니라는 문자열을 반환합니다.
Date 객체로 시작 날짜와 마지막 날짜를 받아, 시작 날짜와 마지막 날짜 사이의 모든 날짜를 Date 객체로 배열에 담아 반환하는 함수
function getDatesStartToLast(startDate, lastDate) {
if(!(startDate instanceof Date && lastDate instanceof Date)) return "Not Date Object";
var result = [];
var curDate = startDate;
while(curDate <= lastDate) {
result.push(curDate);
curDate.setDate(curDate.getDate() + 1);
}
return result;
}
위 함수는 Date 객체로 시작 날짜와 마지막 날짜를 인자값으로 받아,
시작 날짜와 마지막 날짜 사이의 모든 날짜를 Date 객체로 배열에 넣고 반환합니다.
시작 날짜와 마지막 날짜를 인자로 받아올 때, Date 객체가 아니라면 Date 객체가 아니라는 문자열을 반환합니다.
제 글에 잘못된 정보, 더 좋은 방법 혹은 정보, 궁금하신 점,
요청 사항 등이 있으시다면 언제든지 말씀해 주세요!
감사합니다.
'Developer > JavaScript' 카테고리의 다른 글
JavaScript MutationObserver 사용 방법 - HTML Dom 변경 감지 방법 (0) | 2021.01.22 |
---|---|
JavaScript URL Parameter parsing (파라미터 가져오기) (0) | 2020.10.04 |
JavaScript 날짜 계산 방법(어제, 한달 전, 일년 전, 내일, 한달 후, 일년 후 구하기, 날짜 더하기, 날짜 빼기) (0) | 2020.09.24 |
JavaScript 현재 날짜, 시간 가져오기 (년, 월, 일, 시, 분, 초 구하기) (0) | 2020.09.24 |
JavaScript 정규식으로 숫자만 추출하기 (2) | 2020.07.11 |
댓글