Q&A

  • "일(day)" 수 더하는 부분
년과 월은 검증이 된 부분인데

일에 대한 부분을 새로 추가 했거든요..

월 부분을 copy해서 day만 바꿔줬는데.. 맞는지 모르겠어요..







if ymd_flag = 1 then begin

Decodedate(s_date,yy1,mm1,dd1);

yy1:=yy1 + wInterval;



//**********************************************************************//

if (dd1 = 31) and ((mm1 = 4) or (mm1 = 6) or (mm1 = 9) or (mm1 = 11)) then

dd1 := 30;

if (mm1 = 2) and ((dd1 = 29) or (dd1 = 30) or (dd1 = 31)) then

dd1 := 28;

//**********************************************************************//

tmpDate:=Encodedate(yy1,mm1,dd1);

end

else if ymd_flag = 2 then begin

Decodedate(s_date,yy1,mm1,dd1);

if ( mm1 + wInterval ) > 12 then begin

yy1 := yy1 + ((mm1 + wInterval) div 12);

mm1 := ((mm1 + wInterval) mod 12);

end

else begin

mm1 := mm1 + wInterval;

end;



//**********************************************************************//

if (dd1 = 31) and ((mm1 = 4) or (mm1 = 6) or (mm1 = 9) or (mm1 = 11)) then

dd1 := 30;

if (mm1 = 2) and ((dd1 = 29) or (dd1 = 30) or (dd1 = 31)) then

dd1 := 28;

//**********************************************************************//

tmpDate:=Encodedate(yy1,mm1,dd1);

end

else if ymd_flag = 3 then begin

Decodedate(s_date,yy1,mm1,dd1);

if ( mm1 + wInterval ) > 12 then begin

yy1 := yy1 + ((mm1 + wInterval) div 12);

mm1 := ((mm1 + wInterval) mod 12);

end

else begin

dd1 := dd1 + wInterval;

end;



//**********************************************************************//

if (dd1 = 31) and ((mm1 = 4) or (mm1 = 6) or (mm1 = 9) or (mm1 = 11)) then

dd1 := 30;

if (mm1 = 2) and ((dd1 = 29) or (dd1 = 30) or (dd1 = 31)) then

dd1 := 28;

//**********************************************************************//



tmpDate:=Encodedate(yy1,mm1,dd1);

end;

0  COMMENTS