안녕하세요
음.. 현재날짜를 1년 다한 날짜를 구하고 싶거든요.
예를 들어..
var
ToDay: TDateTime;
Year, Month, Day: Word;
begin
ToDay := Date;
DecodeDate(ToDay, Year, Month, Day);
Inc(Year); //1년증가
ToDay := EncodeDate(Year, Month, Day);
end;
이렇게 하니깐.. 1년이 증가하긴 하는데..
2000년 2월 29일때 위에 문장을 실행하면..
컨버트 에러가 나거든요. 2001년에는 2월 28일까지 밖에
없어서 그러는것 같은데..
위에 방법 말고 1년을 더하는 방법이 없나요?
답변좀 해주세요. ^^;
델파이 날짜관련함수에 다음달의 날짜를 구할수 있는 IncMonth라는 함수가
있습니다. 년도를 증가시키시는 것보다는 이함수를 이용하시는것이 더 좋은
것 같습니다.
ToDay := IncMonth(Date, 12); // 1년=12달
이렇게 하면 2000-02-29일의 1년후는 2001-02-28일로 나옵니다...
강민주 wrote:
> 안녕하세요
> 음.. 현재날짜를 1년 다한 날짜를 구하고 싶거든요.
> 예를 들어..
> var
> ToDay: TDateTime;
> Year, Month, Day: Word;
> begin
> ToDay := Date;
> DecodeDate(ToDay, Year, Month, Day);
> Inc(Year); //1년증가
> ToDay := EncodeDate(Year, Month, Day);
> end;
>
> 이렇게 하니깐.. 1년이 증가하긴 하는데..
> 2000년 2월 29일때 위에 문장을 실행하면..
> 컨버트 에러가 나거든요. 2001년에는 2월 28일까지 밖에
> 없어서 그러는것 같은데..
>
> 위에 방법 말고 1년을 더하는 방법이 없나요?
>
> 답변좀 해주세요. ^^;
>
>