본문 바로가기
Developer/JavaScript

JavaScript 날짜와 날짜 사이 모든 날짜 구하기

by roqkfrlfhr 2020. 9. 30.

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 객체가 아니라는 문자열을 반환합니다.

 

 

 

제 글에 잘못된 정보, 더 좋은 방법 혹은 정보, 궁금하신 점, 

요청 사항 등이 있으시다면 언제든지 말씀해 주세요!

 

감사합니다.


댓글