개발을 하다보면 날짜에 관련된 것들을 자주 접하게 된다.
컴포넌트에서 날짜를 선택하고 저번달 날짜도 같이 구해서 보내야 한다거나 하는 경우가 있는데
그냥 월만 넘기면 쉽지만 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);
포스팅이 도움이 되셨다면 마우스를 조금만 움직여서 공감하기를 눌러주세요 블로거에게 큰 힘이 됩니다~! |