투케이2K

98. (javascript/자바스크립트) 두날짜 start date , end date 에 포함되는 날짜 리스트 출력 실시 - new Date , toISOString 본문

JavaScript

98. (javascript/자바스크립트) 두날짜 start date , end date 에 포함되는 날짜 리스트 출력 실시 - new Date , toISOString

투케이2K 2021. 7. 27. 08:47

[개발 환경 설정]

개발 툴 : Edit++

개발 언어 : javascript


[소스 코드]

    <!-- 내부 JS 지정 -->
    <script>

    	/*
    	[JS 요약 설명]
    	1. window.onload : 브라우저 로드 완료 상태를 나타냅니다 
    	2. new Date : date 객체를 선언합니다
    	3. 두 날짜 차이 계산 : 시작 날짜와 종료날짜를 포함한 값을 리턴합니다
    	4. toISOString() : 확장 ISO 형식(ISO 8601)의 문자열을 반환합니다 
    	5. 참고 : new Date 데이터 삽입 시 사파리, 크롬 등 적용을 위해 2021-07-08 형식 처럼 문자열을 선언해야합니다
    	*/

   	
    	
    	/* [html 최초 로드 및 이벤트 상시 대기 실시] */
    	window.onload = function() {
    		console.log("");
    		console.log("[window onload] : [start]");
    		console.log("");


    		// [초기 start, end 날짜 선언 실시]
    		var start = "2021-07-08";
    		var end = "2021-08-02";

    		// [이벤트 함수 호출]
    		dateList(start, end);
    	};



    	/* [이벤트 함수 정의] */    	
    	function dateList(startDate, EndDate){
    		console.log("");
    		console.log("[dateList] : [start]");
    		console.log("[startDate] : " + startDate);    		
    		console.log("[EndDate] : " + EndDate);    		
    		console.log("");

    		// 두 날짜 차이 계산 실시
    		const date1 = new Date(startDate);
    		const date2 = new Date(EndDate);
    		const elapsedMSec = date2.getTime() - date1.getTime();
    		const elapsedDay = elapsedMSec / 1000 / 60 / 60 / 24;
    		var dateTerm = Number(elapsedDay) + 1;
    		console.log("");    		
    		console.log("[dateTerm] : " + dateTerm);    		
    		console.log("");

    		// 정규식 사용해 두 날짜 사이에 포함되는 리스트 출력 실시
    		var regex = RegExp(/^\d{4}-(0[1-9]|1[012])-(0[1-9]|[12][0-9]|3[01])$/);	
    		var result = [];	
    		var curDate = new Date(startDate);

    		while(curDate <= new Date(EndDate)) {
    			var date = curDate.toISOString().split("T")[0];    			
    			result.push(date);
    			curDate.setDate(curDate.getDate() + 1);
    			console.log("[dateList] : [date] : " + date);
    		}	

    		console.log("");
    		console.log("[dateList] : [result length] : " + result.length);				
    		console.log("");
    	};
    	
    </script>

[결과 출력]


[요약 설명]

/*
[JS 요약 설명]
1. window.onload : 브라우저 로드 완료 상태를 나타냅니다 
2. new Date : date 객체를 선언합니다
3. 두 날짜 차이 계산 : 시작 날짜와 종료날짜를 포함한 값을 리턴합니다
4. toISOString() : 확장 ISO 형식(ISO 8601)의 문자열을 반환합니다 
5. 참고 : new Date 데이터 삽입 시 사파리, 크롬 등 적용을 위해 2021-07-08 형식 처럼 문자열을 선언해야합니다
*/


 

반응형
Comments