개발을 하다보면 날짜에 관련된 것들을 자주 접하게 된다.

컴포넌트에서 날짜를 선택하고 저번달 날짜도 같이 구해서 보내야 한다거나 하는 경우가 있는데

그냥 월만 넘기면 쉽지만 1월의 전월은 12월이고 연도까지 변하게 해야 할 경우 짜증나는 경우가 있다.


Date함수에 SetFullYear 를 써서 날짜를 셋팅 한 다음 나온 값을

다시 구해야할 Date함수에 집어넣고 뽑으면 해당 연월이 출력되게 된다.

여기서 month에 한달전값을 구하는데 -2 를 하고 나온값에서 +1을 하는 이유는 

먼스가 1부터 시작하는게 아니라 0부터 시작하기 때문이다

일단위변환도 같은 방법으로 구현하면 된다.

// 전월, 전전월 구하기 

var year:Number = 2015;

var mon:Number = 5;


 var date1:Number = new Date().setFullYear(year,mon-2); // 셋팅값에 연도와 월을 넣고 월에 -2 를 하여 1달 전셋팅

 var year1:Number = new Date(date1).getFullYear();

 var mon1:Number = new Date(date1).getMonth()+1; 


 var date2:Number = new Date().setFullYear(year,mon-3);  // 먼스에 -2 를 하여 1달 전셋팅

 var year2:Number = new Date(date2).getFullYear(); 

 var mon2:Number = new Date(date2).getMonth()+1; 


// 2015/05/01 과 같은 문자열을 만들기 위해 월이 1자리면 앞에 0을 붙여 준다.

 var _mon1:String = mon1+""; 

 var _mon2:String = mon2+"";


 if(_mon1.length == 1){ 

 _mon1="0"+_mon1;

 } 

 if(_mon2.length == 1){ 

 _mon2="0"+_mon2; 

 } 


 var postDate1:String = year1+"/"+_mon1+"/01";

 var postDate2:String = year2+"/"+_mon2+"/01";


// 잘 나오는지 확인을 해보자 SCAlert는 엠로 프레임워크 기능이니까 일반 플렉스사용자는 그냥 alert를 사용하자

 SCAlert.show(postDate1 +"-----"+ postDate2);


포스팅이 도움이 되셨다면 마우스를 조금만 움직여서 

공감하기를 눌러주세요 블로거에게 큰 힘이 됩니다~! 


+ Recent posts