/**
 * 2012.10.22 add
 * 현재 일을 기준으로 현재 week(월~토) 기간으로 설정
 *    - 일요일 일 경우 명일의 week(월~토) 기간으로 설정
 *
 * param - selectDate : 2012-01-01
 * return [ 0 : 시작년월일, 1 : 종료년월일 ]
 */
 function getSrchDate( selectDate ) {
   
    var resultValue = new Array();
   
    /**
     *   0     1    2     3     4     5    6
     *  "일", "월", "화", "수", "목", "금", "토"
     */
    var year  = selectDate.split("-")[0]; //선택된 년도
    var month = selectDate.split("-")[1]; //선택된 월
    var day   = selectDate.split("-")[2]; //선택된 일자

   var endDay =  new Array(31,28,31,30,31,30,31,31,30,31,30,31);
   
    var selectDay = new Date(year, month-1, day);  
    var nowWeekDay    = selectDay.getDay();      //선택된 일자의 요일
     
    var lastDay       = endDay[selectDay.getMonth()];   //선택된 달의 마지막 일자
   
    var start_end_day = new Array( parseInt(day,10)-parseInt((nowWeekDay-1),10), parseInt(day,10)+parseInt((6-nowWeekDay),10) );  //[0] 시작일, [1] 종료일
    var srchMonth = 0;
    var srchYear  = 0;
   
    for( var i=0; i<start_end_day.length ; i++ ) {
       
     srchDay = start_end_day[i];
     
        srchMonth = month;
        srchYear  = year;
        if( srchDay > lastDay ) {
           
            srchDay = srchDay - lastDay;
            srchMonth++;
           
            if( srchMonth > 12 ) {
                srchMonth = 1;
                srchYear++;
            }
        }
       
        var srchDaychk = srchDay;
        if( srchDay < 10 ) {
         
         if( srchDay < 0 ) {   //주중에 달이 변할경우

          var in_year = year;
          var in_month = month;
          if(month == 2) {
           in_month = 12;
           in_year = year - 1;
          }else if(month == 1){
           in_month = 11;
           in_year = year - 1;
          }
          
          var selectDay2 = new Date(in_year, in_month, day);
             var lastDay2   = endDay[selectDay2.getMonth()];   //선택된 달의 이전 달  마지막 일자
            
             srchDaychk = lastDay2 - (-srchDay);
             srchMonth = srchMonth - 1;
         }else {
             srchDaychk = "0" + srchDay;
         }
        }
       
        if( i == 0 ) {
         resultValue[0]  = srchYear + "-" + srchMonth + "-" + srchDaychk;    //시작년월일
        }else {
         resultValue[1]  = srchYear + "-" + srchMonth + "-" + srchDaychk;    //종료년월일
        }
    }
   
    return resultValue;
}

'JavaScript' 카테고리의 다른 글

[JavaScript] DOM 정보  (0) 2013.01.09
[JavaScript] 유니코드 > 인코딩, 디코딩  (0) 2012.12.13
[JavaScript] 클로저(Closure)  (0) 2012.08.30
[JavaScript] 네이버 지도 API 연동  (0) 2012.08.14
[JavaScript] SNS 연동  (0) 2012.08.14

+ Recent posts