티스토리 뷰

Programming/nexacro

넥사크로 캘린더 일자 연산, 더하기

감성적인 개발자 2022. 7. 7. 22:31

캘린더에있는 날짜를 더하기 위한 코드

//Date 오브젝트 생성
var nYearDt  = this.Dataset00.getColumn(0, "날짜컬럼").substr(0, 4);
var nMonthDt = this.Dataset00.getColumn(0, "날짜컬럼").substr(4, 2);
var nDayDt   = this.Dataset00.getColumn(0, "날짜컬럼").substr(6, 2);

var objDate  = new Date(nYearDt, nMonthDt - 1, nDayDt); //생성 시 월은 -1

var nDayDtCal = parseInt(nDayDt) + 1; //연산
objDate.setDate(nDayDtCal);

var sYearDt  = objDate.getYear();
var sMonthDt = objDate.getMonth() + 1; //-1 한 값을 되돌린다.
var sDayDt   = objDate.getDate();

this.Dataset00.setColumn(0, "날짜컬럼", sYearDt.toString() + sMonthDt.toString().padLeft(2, "0") + sDayDt.toString().padLeft(2, "0"));

 

1.  데이터셋에서 년월일('20220707')을 가진 컬럼을 각각 년, 월, 일로 나누어 변수에 저장한다.

var nYearDt  = this.Dataset00.getColumn(0, "날짜컬럼").substr(0, 4); //연
var nMonthDt = this.Dataset00.getColumn(0, "날짜컬럼").substr(4, 2); //월
var nDayDt   = this.Dataset00.getColumn(0, "날짜컬럼").substr(6, 2); //일

 

2. Date객체를 생성해 추출 한 값으로 초기화. (Date객체는 월을 0~11로 받기 때문에 컬럼 값 - 1을 전달) 

var objDate  = new Date(nYearDt, nMonthDt - 1, nDayDt);

 

3. 원하는 일수를 더해준 뒤 setDate 인자로 전달한다. setDate 함수는 연/월/일 중 일자가 들어가며 초과/미달 된만큼 자동으로 연/월이 연산된다.

var nDayDtCal = parseInt(nDayDt) + 1; //연산
objDate.setDate(nDayDtCal);

 

4. Date객체로부터 연/월/일 을각각 변수로 받은 뒤 값들을 스트링으로 변환해 합친다. 이 때 월,일은 padLeft를 통해 한 자리 수를 두 자리로 변환시켜준다.

var sYearDt  = objDate.getYear();
var sMonthDt = objDate.getMonth() + 1; //-1 한 값을 되돌린다.
var sDayDt   = objDate.getDate();

this.Dataset00.setColumn(0, "날짜컬럼", sYearDt.toString() + sMonthDt.toString().padLeft(2, "0") + sDayDt.toString().padLeft(2, "0"));
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
글 보관함