현재일자기준으로해서 1년전 날짜를 구하는데
FormatDateTime('yyyymmdd',sysdate-365) 해서
처리했는데
윤년인 경우는 윤달이 있어서 1년이 366일 이기때문에
하루가 부족해서 +1을 해주어야 하거든요.
비교해서 SQL 문으로 구사한다면
select add_months(sysdate,-12), sysdate-365
from dual
ADD_MONTHS(SYSDATE SYSDATE-365
------------------ ------------------
30-OCT-99 31-OCT-99
위처럼 차이가 나죠.
오늘날짜(2000년10월30일)로 기준을 했을때
전자(30-OCT-99)가 되야 맞죠.
즉,올해가 윤년이라서죠.
다시 본론으로 가서
FormatDateTime을 적절히 사용하는 방법인데
어떻게 하면 되죠?
급한건데 빨리 답변해 주시면 고맙겠습니다...
>
> 현재일자기준으로해서 1년전 날짜를 구하는데
>
> FormatDateTime('yyyymmdd',sysdate-365) 해서
> 처리했는데
> 윤년인 경우는 윤달이 있어서 1년이 366일 이기때문에
> 하루가 부족해서 +1을 해주어야 하거든요.
>
> 비교해서 SQL 문으로 구사한다면
>
> select add_months(sysdate,-12), sysdate-365
> from dual
>
> ADD_MONTHS(SYSDATE SYSDATE-365
> ------------------ ------------------
> 30-OCT-99 31-OCT-99
>
> 위처럼 차이가 나죠.
> 오늘날짜(2000년10월30일)로 기준을 했을때
> 전자(30-OCT-99)가 되야 맞죠.
> 즉,올해가 윤년이라서죠.
>
> 다시 본론으로 가서
> FormatDateTime을 적절히 사용하는 방법인데
> 어떻게 하면 되죠?
> 급한건데 빨리 답변해 주시면 고맙겠습니다...
edit2.text := formatdatetime('yyyy-mm-dd',IncMonth(StrToDate(Edit1.Text),-12));
즐프하시길....