Job/Web

[JavaScript] 날짜 계산

reallllbro 2016. 12. 13. 17:49

var monarr = new Array(31,28,31,30,31,30,31,31,30,31,30,31);

/************************************************************************************

 getDateDays(date) : 날자의 총일수를 리턴하는 함수
 사용예) getDateDaus('20040101');

*************************************************************************************/
function getDateDays(date)
{
 var year = new Number(date.substring(0,4));
 var month = new Number(date.substring(4,6));
 var day = new Number(date.substring(6,8));

 var value = year * 12 * 30 + month * 30 + day;

 return value;
}

function getSQLDateString(date) {
    if(date == null) {
        date = new Date();
    }

    var sDate = '';
    if (date.getYear() < 2000) {
        sDate += (date.getYear() + 1900);
    } else {
        sDate += date.getYear();
    }

    sDate += '-';

    if(date.getMonth() < 9) {
     sDate += '0' + (date.getMonth()+1);
    } else {
        sDate += (date.getMonth()+1);
    }

    sDate += '-';

    if(date.getDate() < 10) {
     sDate += '0' + (date.getDate());
    } else {
        sDate += (date.getDate());
    }

    return sDate;
}


//현재일자의 전후 일자
// 예) 현재일자 7일전 getCalSQLDateString(-7)
// 예) 현재일자 7일후 getCalSQLDateString(7)
function getCalSQLDateString(pday) {

    date = new Date();
    newDate = new Date();
    var newtimems = date.getTime()+(pday*24*60*60*1000);
    newDate.setTime(newtimems);


    var sDate = '';
    if (newDate.getYear() < 2000) {
        sDate += (newDate.getYear() + 1900);
    } else {
        sDate += newDate.getYear();
    }

    sDate += '-';

    if(newDate.getMonth() < 9) {
     sDate += '0' + (newDate.getMonth()+1);
    } else {
        sDate += (newDate.getMonth()+1);
    }

    sDate += '-';

    if(newDate.getDate() < 10) {
     sDate += '0' + (newDate.getDate());
    } else {
        sDate += (newDate.getDate());
    }

    return sDate;
}


/************************************************************************************

 getBetweenMonths( sdate, edate ) : 기간의 총 개월수를 리턴하는 함수
 사용예) getBetweenMonth('20000101', '20040101');

*************************************************************************************/
function getBetweenMonth(sdate, edate)
{
 var value = (getDateDays(edate) - getDateDays(sdate));
 value = Math.round( value / 30 );

 return value;
}

/************************************************************************************
 getBetweenDays( sdate, edate ) : 기간의 총 일수를 리턴하는 함수
 사용예) getBetweenDays('20000101', '20040101');
*************************************************************************************/
function getBetweenDays( sdate, edate )
{
 var value = (getDateDays(edate) - getDateDays(sdate));

 return value;
}


/************************************************************************************
 getMonthDay(year, month) : 해당 년/월의 최종 일수를 반환
 사용예) getMonthDay(2000, 4);
*************************************************************************************/
function getMonthDay(year, month) {
 if ((((year % 4 == 0) && (year % 100 != 0)) || (year % 400 == 0)) && month==2) {
  date = 29;
 } else {
  date = monarr[month-1];
 }

 return date;
}

 

/************************************************************************************
 getThisYearCurrYM() : 오늘이 속한 달을 0000-00형식으로 반환
 사용예) getToday();
*************************************************************************************/
function getThisYearCurrYM() {

 var today = new Date();
 var yyyy = today.getYear();
 var mm = (today.getMonth() + 1);
 mm = formatNN(mm);

 var date = yyyy + "-" + mm;

 return date;
}

/************************************************************************************
 getCurrMonthLastDay() : 오늘이 속한 달의 말일을 0000-00-00형식으로 반환
 사용예) getToday();
*************************************************************************************/
function getCurrMonthLastDay() {

 var today = new Date();
 var yyyy = today.getYear();
 var mm = (today.getMonth() + 1);
 mm = formatNN(mm);

 var date = yyyy + "-" + mm + "-" + getMonthDay(yyyy, mm);

 return date;
}

/************************************************************************************
 getToday() : 오늘 날자를 0000-00-00형식으로 반환
 사용예) getToday();
*************************************************************************************/
function getToday() {

 var today = new Date();
 var yyyy = today.getYear();
 var mm = (today.getMonth() + 1);
 mm = formatNN(mm);

 var dd = today.getDate();
 dd = formatNN(dd);

 var date = yyyy + "-" + mm + "-" + dd;

 return date;
}


function formatNN(num) {

 var result = "";
 num = Number(num);
 if (num < 10) {

  result = "0" + num;

 } else {

  result = num;

 }

 return result;

}


/************************************************************************************
 검색조건일자의 전후일자 구하기
// 예) 검색조건일자 7일전 getCalSQLDateString1(pdate,-7)
// 예) 검색조건일자 7일후 getCalSQLDateString1(pdate,7)
*************************************************************************************/
function getCalSQLDateString2(pdate,pday) {


    date = new Date(pdate.substring(0,4), parseInt(pdate.substring(4,6),10)-1, parseInt(pdate.substring(6,8),10));

    newDate = new Date();
    var newtimems = date.getTime()+(pday*24*60*60*1000);
    newDate.setTime(newtimems);


    var sDate = '';
    if (newDate.getYear() < 2000) {
        sDate += (newDate.getYear() + 1900);
    } else {
        sDate += newDate.getYear();
    }

    sDate += '-';

    if(newDate.getMonth() < 9) {
     sDate += '0' + (newDate.getMonth()+1);
    } else {
        sDate += (newDate.getMonth()+1);
    }

    sDate += '-';

    if(newDate.getDate() < 10) {
     sDate += '0' + (newDate.getDate());
    } else {
        sDate += (newDate.getDate());
    }

    return sDate;
}

//날짜의'-' 빼기
function sDelDate(data) {
    return data.replaceAll("-", "");
}
//시간의':' 빼기
function sDelHour(data) {
    return data.replaceAll(":", "");
}

//형식으로 리턴하는 함수
function dateFormat(strDate) {

 var date = "";

 if(strDate.indexOf("-") > -1) return strDate;

 if(strDate != "") {
  var year  = "";
  var month = "";
  var day   = "";
  if(strDate.length == 6){
   year = strDate.substring(0, 4);
   month = strDate.substring(4, 6);
   date = year+"-"+month
  }else if(strDate.length == 8){
   year = strDate.substring(0, 4);
   month = strDate.substring(4, 6);
   day = strDate.substring(6, 8);
   date = year+"-"+month+"-"+day
  }
 }

 return date;
}

//날짜 validation check 함수
function checkDate(obj)
{
 var ymd = obj.value;
 var year;
 var month;
 var day;
 var dash;
 var febEndday;

 if( obj.value.length == 0 ) {
  return true;
 }

 if( obj.value.length != 10 ){
  alert("날짜를 잘못 입력하였습니다.");
  obj.value="";
  obj.focus();
  return false;
 }

 var isNanVlaue;

 if( obj.value.length < 5 ) {
  isNanVlaue = obj.value;
 }
 if( obj.value.length == 5 ) {
  if(obj.value.substring(4,5) != "-" ) {
   alert("날짜를 잘못 입력하였습니다.");
   obj.value = "";
   obj.focus();
   return false;
  }

  isNanVlaue = obj.value.substring(0,4);
 }
 if( obj.value.length == 6 || obj.value.length == 7 || obj.value.length == 8 ) {
  if(obj.value.substring(7,8) != "-" ) {
   alert("날짜를 잘못 입력하였습니다.");
   obj.value = "";
   obj.focus();
   return false;
  }

  isNanVlaue = (obj.value.substring(0,4)+obj.value.substring(5,7));
 }
 if( obj.value.length == 9 || obj.value.length == 10 ) {
  isNanVlaue = (obj.value.substring(0,4)+obj.value.substring(5,7)+obj.value.substring(8,10));
 }

 if(isNaN(isNanVlaue) == true ) {
  alert("숫자로 입력해 주세요.");
  obj.value = "";
  obj.focus();
  return false;
 }

 year = ymd.substring(0,4);     // 년도
 month = ymd.substring(5,7);     // 월
 day = ymd.substring(8,10);      // 일

 if (month > 12 || month < 01 || ymd.length < 10 || day <= 00)
 {
  alert("월이 잘못 되었습니다.(예 : 01 ~ 12)");
  obj.value ="";
  obj.focus();
  return false;       // 월>12,월<1,년월일:8자리이하,년월일:Non Numeric, 일:00이하                                                                                -> return false
 }
 else if (month == 01 || month == 03 || month == 05 || month == 07 ||
  month == 08 || month == 10 || month == 12)
 {
  if (day > 31){
   alert("날짜가 잘못 되었습니다.(예 : 01~ 31)");
   obj.value ="";
   obj.focus();
   return false;      // 1월, 3월, 5월, 7월, 8월, 10월, 12월 : 일 -> 31 초과이면 return false
  }
 }
 else if (month == 04 || month == 06 || month == 09 || month == 11)
 {
  if (day > 30){
   alert("날짜가 잘못 되었습니다.(예 : 01 ~ 30)");
   obj.value ="";
   obj.focus();
   return false;      // 4월, 6월, 9월, 11월 : 일 -> 30 초과이면 return false
  }
 }
 else if (month == 02)      // 2월인 경우
 {
  if (year % 400 == 0)
   febEndday = 29;      // 년도가 400으로 나눠질 경우 마지막날은 29일
  else if (year % 100 == 0)
   febEndday = 28;      // 년도가 100으로 나눠질 경우 마지막날은 28일
  else if (year % 4   == 0)
   febEndday = 29;      // 년도가   4  로 나눠질 경우 마지막날은 29일
  else
   febEndday = 28;      // 나머지 경우의 마지막날은 28일

  if (day > febEndday) {

   alert("날짜가 잘못 되었습니다.(예 : 01 ~ "+febEndday+")");
   obj.value ="";
   obj.focus();
   return false;      // 일이 마지막날보다 크면 return false;
  }
 }

 return true;
}


//날짜 validation check 함수
function checkDateYM(obj){

 var ymd = obj.value;
 var year;
 var month;
 var dash;
 var febEndday;

 if( obj.value.length == 0 ) {
  return true;
 }

 if( obj.value.length != 7 ){
  alert("날짜를 잘못 입력하였습니다.");
  obj.value="";
  obj.focus();
  return false;
 }

 var isNanVlaue;

 if( obj.value.length < 5 ) {
  isNanVlaue = obj.value;
 }
 if( obj.value.length == 5 ) {
  if(obj.value.substring(4,5) != "-" ) {
   alert("날짜를 잘못 입력하였습니다.");
   obj.value = "";
   obj.focus();
   return false;
  }

  isNanVlaue = obj.value.substring(0,4);
 }

 if( obj.value.length == 6 || obj.value.length == 7 ) {
  isNanVlaue = (obj.value.substring(0,4)+obj.value.substring(5,7));
 }
 if(isNaN(isNanVlaue) == true ) {
  alert("숫자로 입력해 주세요.");
  obj.value = "";
  obj.focus();
  return false;
 }

 year = ymd.substring(0,4);     // 년도
 month = ymd.substring(5,7);     // 월

 if (month > 12 || month < 01 || ymd.length < 7 )
 {
  alert("월이 잘못 되었습니다.(예 : 01 ~ 12)");
  obj.value ="";
  obj.focus();
  return false;
 }

 return true;

}


//텍스트 입력시 자동으로 - 입력되는 함수
function dashDate(obj) {
/*
    if(obj.value.length == 4){
        obj.value = obj.value +"-";
    }else if(obj.value.length == 7){
        obj.value = obj.value +"-";
    }
*/
//    if ((event.keyCode != 8)&&(event.keyCode != 9)&&(event.keyCode != 37)&&(event.keyCode != 39)&&(event.keyCode != 46)) {
//        if ( (event.keyCode < 48)||(event.keyCode > 57 && event.keyCode < 96)||(event.keyCode > 105)||(event.keyCode == 229)) {
//            event.returnValue = false;
//        }
        var val = obj.value.replaceAll("-","");

        // length == 10 인 경우 아래 로직을 타면 onChange이벤트가 발생하지 않음
        if (obj.value.length == 10) return;

        if (val.length > 6) {
          val = val.substring(0,4) + "-" + val.substring(4,6) + "-" + val.substring(6);
        } else if (val.length > 4) {
            val = val.substring(0,4) + "-" + val.substring(4);
        }
        obj.value = val;

//        if(obj.value.length == 4){
//            obj.value = obj.value +"-";
//        }else if(obj.value.length == 7){
//            obj.value = obj.value +"-";
//        }
//    } else {
//        event.returnValue = true;
//    }
}


//텍스트 입력시 자동으로 - 입력되는 함수
function dashDateYM(obj) {
 if ((event.keyCode != 8)&&(event.keyCode != 9)&&(event.keyCode != 37)&&(event.keyCode != 39)&&(event.keyCode != 46)) {
  if ( (event.keyCode < 48)||(event.keyCode > 57 && event.keyCode < 96)||(event.keyCode > 105)||(event.keyCode == 229)) {
   event.returnValue = false;
  }

  if(obj.value.length == 4){
   obj.value = obj.value +"-";
  }
 } else {
  event.returnValue = true;
 }

}


//9999-12-31 형식으로 리턴하는 함수
function dateFormatYM(strDate) {

 var date = "";

 if(strDate.indexOf("-") > -1) return strDate;

 if(strDate != "") {
  var year  = "";
  var month = "";
  var day   = "";
  if(strDate.length == 6){
   year = strDate.substring(0, 4);
   month = strDate.substring(4, 6);
   date = year+"-"+month
  }else if(strDate.length == 8){
   year = strDate.substring(0, 4);
   month = strDate.substring(4, 6);
   day = strDate.substring(6, 8);
   date = year+"-"+month+"-"+day
  }
 }

 return date;
}


//99991231 형식으로 리턴하는 함수
function dateDashRemoveFormat(strDate) {

 if(strDate.length != 10) return strDate;

    var year = strDate.substring(0, 4);
    var month = strDate.substring(5, 7);
    var day = strDate.substring(8, 10);

 return year+month+day;
}


function dateYMDashRemoveFormat(strDate) {

 if(strDate.length != 7) return strDate;

    var year = strDate.substring(0, 4);
    var month = strDate.substring(5, 7);

 return year+month;
}


//시간 validation check
function checkTime(strTime){

 if( strTime.value.length == 0 ) {
  return true;
 }

 if( strTime.value.length != 5 ){
  alert("시간을 잘못 입력하였습니다.");
  strTime.value="";
  strTime.focus();
  return false;
 }

 var isNanValue;

 if( strTime.value.length < 3 ) {
  isNanValue = strTime.value;
 }
 if( strTime.value.length == 3 ) {
  if(strTime.value.substring(2,3) != ":" ) {
   alert("시간을 잘못 입력하였습니다.");
   strTime.value = "";
   strTime.focus();
   return false;
  }

  isNanValue = strTime.value.substring(0,2);
 }

 if( strTime.value.length == 4 || strTime.value.length == 5 ) {
  isNanValue = strTime.value.substring(0,2)+strTime.value.substring(3,5);
 }

 if(isNaN(isNanValue) == true ) {
  alert("숫자로 입력해 주세요.");
  strTime.value = "";
  strTime.focus();
  return false;
 }


 if(strTime.value.length == 5){

  var hh = strTime.value.substring(0, 2);
  var mm = strTime.value.substring(3, 5);
  if(hh.substring(0,1) != "0"){
   if(parseInt(hh.substring(0,2)) > 24){
    alert("24시간 이내를 입력해주세요.");
    strTime.value = "";
    strTime.focus();
   }
  }
  if(mm.substring(0,1) != "0"){
   if(parseInt(mm.substring(0,2)) > 60){
    alert("60분 이내를 입력해주세요.");
    strTime.value = "";
    strTime.focus();
   }
  }
 }
}


//HH:MM 형식으로 ":"를 자동입력하는 함수
function dashTime(strTime) {
 if ((event.keyCode != 8)&&(event.keyCode != 9)&&(event.keyCode != 37)&&(event.keyCode != 39)&&(event.keyCode != 46)) {
  if ( (event.keyCode < 48)||(event.keyCode > 57 && event.keyCode < 96)||(event.keyCode > 105)||(event.keyCode == 229) ) {
   event.returnValue = false;
  }

  if(strTime.value.length == 2){
   strTime.value = strTime.value +":";
  }
 } else {
  event.returnValue = true;
 }
}


//원하는 위치에 '-'문자 넣기
function dashInput(obj, position) {
 if ((event.keyCode != 8)&&(event.keyCode != 9)&&(event.keyCode != 37)&&(event.keyCode != 39)&&(event.keyCode != 46)) {
  if ( (event.keyCode < 48)||(event.keyCode > 57 && event.keyCode < 96)||(event.keyCode > 105)||(event.keyCode == 229)) {
   event.returnValue = false;
  }

  if(obj.value.length == position-1){
   obj.value = obj.value +"-";
  }
 } else {
  event.returnValue = true;
 }
}


//설명 : 주민번호 체크.
function checkNoRes(obj){

  if(obj.value == "") return;
  var resNo = obj.value;
  preNoRes  = resNo.substring(0,resNo.indexOf("-"));
  postNoRes = resNo.substring(resNo.indexOf("-")+1, resNo.length);

  if (preNoRes.length != 6){
    alert("올바른 주민등록번호를 입력해주세요.");
 obj.value = "";
    obj.focus();
    return false;
  }
  else if (postNoRes.length != 7){
    alert("올바른 주민등록번호를 입력해주세요.");
 obj.value = "";
    obj.focus();
    return false;
  }
  else {
    var str_serial1 = preNoRes;
    var str_serial2 = postNoRes;

    var digit=0
    for (var i=0;i<str_serial1.length;i++){
      var str_dig=str_serial1.substring(i,i+1);
      if (str_dig<'0' || str_dig>'9'){
          digit=digit+1
      }
    }

    if ((str_serial1 == '') || ( digit != 0 )){
      alert('잘못된 주민등록번호입니다.\n\n다시 확인하시고 입력해 주세요.');
   obj.value = "";
      obj.focus();
      return false;
    }

    var digit1=0
    for (var i=0;i<str_serial2.length;i++){
      var str_dig1=str_serial2.substring(i,i+1);
      if (str_dig1<'0' || str_dig1>'9'){
          digit1=digit1+1
      }
    }

    if ((str_serial2 == '') || ( digit1 != 0 )){
      alert('잘못된 주민등록번호입니다.\n\n다시 확인하시고 입력해 주세요.');
   obj.value = "";
      obj.focus();
      return false;
    }

    if (str_serial1.substring(2,3) > 1){
      alert('잘못된 주민등록번호입니다.\n\n다시 확인하시고 입력해 주세요.');
   obj.value = "";
      obj.focus();
      return false;
    }

    if (str_serial1.substring(4,5) > 3){
      alert('잘못된 주민등록번호입니다.\n\n다시 확인하시고 입력해 주세요.');
   obj.value = "";
      obj.focus();
      return false;
    }

    if ((str_serial2.substring(0,1) > 4) || (str_serial2.substring(0,1) == 0)){
      alert('잘못된 주민등록번호입니다.\n\n다시 확인하시고 입력해 주세요.');
   obj.value = "";
      obj.focus();
      return false;
    }

    var a1=str_serial1.substring(0,1)
    var a2=str_serial1.substring(1,2)
    var a3=str_serial1.substring(2,3)
    var a4=str_serial1.substring(3,4)
    var a5=str_serial1.substring(4,5)
    var a6=str_serial1.substring(5,6)

    var check_digit=a1*2+a2*3+a3*4+a4*5+a5*6+a6*7

    var b1=str_serial2.substring(0,1)
    var b2=str_serial2.substring(1,2)
    var b3=str_serial2.substring(2,3)
    var b4=str_serial2.substring(3,4)
    var b5=str_serial2.substring(4,5)
    var b6=str_serial2.substring(5,6)
    var b7=str_serial2.substring(6,7)

    var check_digit=check_digit+b1*8+b2*9+b3*2+b4*3+b5*4+b6*5

    check_digit = check_digit%11
    check_digit = 11 - check_digit
    check_digit = check_digit%10

    if (check_digit != b7){
      alert('잘못된 주민등록번호입니다.\n\n다시 확인하시고 입력해 주세요.');
   obj.value = "";
      obj.focus();
      return false;
    }
  }
  return true;
}


//YYYYMMDD-1234567 주민번호형식으로 리턴하는 함수
function idFormat(pidStr) {

 var idStr = "";

 if(pidStr.length == 13) {
  var str1  = "";
  var str2 = "";

  str1 = pidStr.substring(0, 6);
  str2 = pidStr.substring(6, 13);

  idStr = str1+"-"+str2;

 }

 return idStr;
}


//숫자만입력
function checkNum(obj){
 if ((event.keyCode != 8)&&(event.keyCode != 9)&&(event.keyCode != 37)&&(event.keyCode != 39)&&(event.keyCode != 46)) {
  if ( (event.keyCode < 48)||(event.keyCode > 57 && event.keyCode < 96)||(event.keyCode > 105)||(event.keyCode == 229)) {
   event.returnValue = false;
  }
 } else {
  event.returnValue = true;
 }
}

/* ----------------------------------------------------------------------------
 * 특정 날짜에 대해 지정한 값만큼 가감(+-)한 날짜를 반환
 *
 * 입력 파라미터 -----
 * pInterval : "yyyy" 는 연도 가감, "m" 은 월 가감, "d" 는 일 가감
 * pAddVal  : 가감 하고자 하는 값 (정수형)
 * pYyyymmdd : 가감의 기준이 되는 날짜
 * pDelimiter : pYyyymmdd 값에 사용된 구분자를 설정 (없으면 "" 입력)
 *
 * 반환값 ----
 * yyyymmdd 또는 함수 입력시 지정된 구분자를 가지는 yyyy?mm?dd 값
 *
 * 사용예 ---
 * 2008-01-01 에 3 일 더하기 ==> addDate("d", 3, "2008-08-01", "-");
 * 20080301 에 8 개월 더하기 ==> addDate("m", 8, "20080301", "");
 --------------------------------------------------------------------------- */
function addDate(pInterval, pAddVal, pYyyymmdd, pDelimiter)
{
    var yyyy;
    var mm;
    var dd;
    var cDate;
    var oDate;
    var cYear, cMonth, cDay;

    if (pDelimiter != "") {
        pYyyymmdd = pYyyymmdd.replace(eval("/\\" + pDelimiter + "/g"), "");
    }


    yyyy = pYyyymmdd.substr(0, 4);
    mm  = pYyyymmdd.substr(4, 2);
    dd  = pYyyymmdd.substr(6, 2);

    if (pInterval == "yyyy") {
        yyyy = (yyyy * 1) + (pAddVal * 1);
    } else if (pInterval == "m") {
        mm  = (mm * 1) + (pAddVal * 1);
    } else if (pInterval == "d") {
        dd  = (dd * 1) + (pAddVal * 1);
    }


    cDate = new Date(yyyy, mm - 1, dd) // 12월, 31일을 초과하는 입력값에 대해 자동으로 계산된 날짜가 만들어짐.
    cYear = cDate.getFullYear();
    cMonth = cDate.getMonth() + 1;
    cDay = cDate.getDate();

    cMonth = cMonth < 10 ? "0" + cMonth : cMonth;
    cDay = cDay < 10 ? "0" + cDay : cDay;

    if (pDelimiter != "") {
        return cYear + pDelimiter + cMonth + pDelimiter + cDay;
    } else {
        return cYear + cMonth + cDay;
    }
}

/* ----------------------------------------------------------------------------
 * 입력날짜가 특정기간 내에 속하는지 여부를 확인
 *
 * 입력 파라미터 -----
 * pInputDate : 입력날짜,yyyymmdd 형식
 * pStartDate  : ~이상인 날짜
 * pEndDate : ~이하인 날짜
 *
 * 반환값 ----
 * 속하면 pass, 속하지 않으면 오류 메시지
 *
 * 사용예 ---
 * 20101202 이 20101201 와 20101202 사이에 속하는지 여부 ==> isInDateYn("20101202", "20101201","20101202");
 --------------------------------------------------------------------------- */
function isInDateYn(pInputDate, pStartDate, pEndDate)
{
 var pInputDate = sDelDate(pInputDate.value);
 //시작,끝기간 조건이 존재하고 입력값이 그 기간 안에 포함되는지
 if(pStartDate != "" && pEndDate != ""){
  if(!(Number(pStartDate)<=Number(pInputDate)<=Number(pEndDate))){
   alert("입력값이 "+dateFormat(pStartDate)+"와 "+dateFormat(pStartDate)+" 사이에 포함되어 있어야 합니다.");
   return false;
  }
 }

 //시작 조건이 존재하고 입력값이 그 기간 안에 포함되는지
 if(pStartDate != "" && pEndDate == ""){
  if(!(Number(pStartDate)<=Number(pInputDate))){
   alert("입력값이 "+dateFormat(pStartDate)+"이상이어야 합니다.");
   return false;
  }
 }

 //끝 조건이 존재하고 입력값이 그 기간 안에 포함되는지
 if(pStartDate == "" && pEndDate != ""){
  if(!(Number(pInputDate)<=Number(pEndDate))){
   alert("입력값이 "+dateFormat(pEndDate)+"이하여야 합니다.");
   return false;
  }
 }
}