/**
* 두 날짜의 차이를 일자로 구한다.(조회 종료일 - 조회 시작일)
*
* @param val1 - 조회 시작일(날짜 ex.2002-01-01)
* @param val2 - 조회 종료일(날짜 ex.2002-01-01)
* @param fmt - 년/월/일 구분자(날짜 ex.2002-01-01)
* @return 기간에 해당하는 일자
*/
function gfnCalDateRange(val1, val2, fmt)
{
  var FORMAT = fmt;

  var from_dt = null;
  var to_dt = null;

  // FORMAT이 있는지 체크
  if (FORMAT == '' || val1.indexOf(FORMAT) < 0 || val2.indexOf(FORMAT) < 0)
  {
    // 월 - 1(자바스크립트는 월이 0부터 시작하기 때문에...)
    // Number()를 이용하여 08, 09월을 10진수로 인식하게 함.
    var fr_year_str = val1.substr(0, 4);
    var fr_mon_str = (Number(val1.substr(4, 2)) - 1) + "";
    var fr_date_str = val1.substr(6, 2);

    var to_year_str = val2.substr(0, 4);
    var to_mon_str = (Number(val2.substr(4, 2)) - 1) + "";
    var to_date_str = val2.substr(6, 2);

    from_dt = new Date(fr_year_str, fr_mon_str, fr_date_str);
    to_dt = new Date(to_year_str, to_mon_str, to_date_str);
  }
  else
  {
    // 년도, 월, 일로 분리
    var start_dt = val1.split(FORMAT);
    var end_dt = val2.split(FORMAT);

    // 월 - 1(자바스크립트는 월이 0부터 시작하기 때문에...)
    // Number()를 이용하여 08, 09월을 10진수로 인식하게 함.
    start_dt[1] = (Number(start_dt[1]) - 1) + "";
    end_dt[1] = (Number(end_dt[1]) - 1) + "";

    from_dt = new Date(start_dt[0], start_dt[1], start_dt[2]);
    to_dt = new Date(end_dt[0], end_dt[1], end_dt[2]);
  }

  return MATH.ceil((to_dt.getTime() - from_dt.getTime()) / 1000 / 60 / 60 / 24);
}

+ Recent posts