/**
* 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 |