초급의 끄적거림

[JavaScript] 날짜 검색 유효성 검사 / 현재 날짜, 시간 본문

프론트엔드/JavaScript

[JavaScript] 날짜 검색 유효성 검사 / 현재 날짜, 시간

codingD 2020. 6. 11. 11:08

<div id="dateType" style="display:none;">
  <input type="date" id="dateFrom" name="from" >
  ~ <input type="date" id="dateTo" name="to">
</div>
<div>
	<button class="btn btn-sm btn-black" name="btnSearch" id="btnSearch">검색</button>
</div>
//날짜 유효성 검사
$('#btnSearch').click(function(){

  var dateFrom = document.getElementById('dateFrom');	//시작일
  var dateTo = document.getElementById('dateTo');	//종료일
  var today = new Date();				//오늘 날짜

  dateFrom = new Date(dateFrom.value);
  var fromYear = dateFrom.getFullYear();
  var fromMonth = dateFrom.getMonth() + 1;
  var fromDay = dateFrom.getDate();

  //날짜 지정을 하지 않았을 때 NaN이 발생하여 0으로 처리
  if (isNaN(fromYear) || isNaN(fromMonth) || isNaN(fromDay)){
    fromYear  = 0;
    fromMonth = 0;
    fromDay   = 0;
  }

	dateFrom = fromYear +'/'+ fromMonth +'/'+fromDay; 

  dateTo = new Date(dateTo.value);
  var toYear  = dateTo.getFullYear();
  var toMonth = dateTo.getMonth() + 1;
  var toDay   = dateTo.getDate();

  //날짜 지정을 하지 않았을 때 NaN이 발생하여 0으로 처리
  if (isNaN(toYear) || isNaN(toMonth) || isNaN(toDay)){
  toYear  = 0;
  toMonth = 0;
  toDay   = 0;
  }

    dateTo = toYear +'/'+ toMonth +'/'+toDay;

  //오늘날짜 날짜 형식으로 지정
  var todayYear  = today.getFullYear(); 	//2020
  var todayMonth = today.getMonth() + 1;    	//06
  var todayDay   = today.getDate();  		//11
  today = todayYear +'/'+ todayMonth +'/'+todayDay;  // 2020/06/11 (형식 지정은 본인 자유)

  //날짜 조회 시, 시작일이 오늘 날짜보다는 크고, 종료일이 시작일보다는 커야하기 때문에 조건을 걸어줌
  if(dateFrom >= today && dateTo >= dateFrom){
  	return true;
  } else {
 	 alert("해당 기간의 조회가 불가능합니다.");
  }
});//click() end

종료일자를 지정하지 않아 isNaN처리로 0이 들어간 모습

주의


  • .getMonth() 의 반환값이 0~11이기 때문에 +1 을 해줘야 함
  • isNaN
  • dateFrom = fromYear +'/'+fromMonth +'/' + fromDay; 의 형식은 '/' 가 아니더라도 자유롭게 설정 가능
var now = new Date(); // 현재시간

 var year = now.getYear(); // 년
 var mon = (now.getMonth()+1); //월
 var date = now.getDate(); //일
 var day = now.getDay(); //요일
 var hour = now.getHours(); //시간
 var min = now.getMinutes(); //분
 var sec = now.getSeconds(); //초
 var milsec = now.getMilliseconds(); //밀리초
Comments