Notice
Recent Posts
Recent Comments
Link
투케이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 형식 처럼 문자열을 선언해야합니다
*/
반응형
'JavaScript' 카테고리의 다른 글
Comments