본문 바로가기

공부방/Flex

[Flex] 특정 일자의 해당 주 시작일과 종료일 구하기


입력되는 날짜의 형식 : "20110604"
// 입력 받은 날짜를 바탕으로 금주의 시작 날짜와 끝날짜 처리 (월요일과 일요일 처리)
private function get_Date(obj:String):Array{
	var year:Number = Number(obj.substring(0,4));
	var mounth:Number = Number(obj.substring(4,6));
	var day:Number = Number(obj.substring(6,8));
	
	var week:Array = new Array("일","월","화","수","목","금","토");
	
	var vn_day1:Date = new Date(year, mounth-1,day);
	
	var i:Number = vn_day1.getDay(); // 현재 요일
	var aa:Number;
	var bb:Number;
	
	if((i>0) && (i<7)){
		aa = 1-i;
		bb = 7-i;
	}else if(i ==0){
		aa = i-6;
		bb = 0;
		
	}
	
	var Cal_st:Date = new Date(vn_day1.getFullYear(), vn_day1.getMonth(), vn_day1.getDate()+aa);
	var Cal_en:Date = new Date(vn_day1.getFullYear(), vn_day1.getMonth(), vn_day1.getDate()+bb);
	
	var st_day:String = Cal_st.getFullYear() + "-" + (String(Cal_st.getMonth()+1).length==1?"0":"") + (Cal_st.getMonth()+1) + "-" + (String(Cal_st.getDate()).length ==1?"0":"") + Cal_st.getDate() + "-" + week[Cal_st.getDay()];
	var en_day:String = Cal_en.getFullYear() + "-" + (String(Cal_en.getMonth()+1).length==1?"0":"") + (Cal_en.getMonth()+1) + "-" + (String(Cal_en.getDate()).length ==1?"0":"") + Cal_en.getDate() + "-" + week[Cal_en.getDay()];
	
	var date:Array = new Array(st_day, en_day);
	
	trace("입력받은 날자: " + obj +"\n" );
	trace("이번주 시작일(월): " + "(" + st_day + ")\n");
	trace("이번주 종료일(일): " + "(" + en_day + ")\n");
	
	return date;
}