Var
ldt_Date: TDate;
ll_AddDate: Integer;
Begin
ll_AddDate := 62; //날짜를 알고 싶은 일수를 대입한다.
ldt_Date := StrToDate('2003-01-01'); //알고자하는 년도의 1월 1일
ldt_Date := ldt_Date + ll_AddDate;
먼저 안녕하세요?
질문이 약간 틀린거 같네염..
몇년도에 몇번째 날이라고 해야할거 같네염..
왜냐하면...
365일이 아닌 년도도 존재하니깐염..
윤년이라는 거 아시져?
그것만 유념하시면...
다른 달은 정해진 날짜가 항상 같은니깐..
계산이 되겠져..
1월 - 31
2월 - ??
.
.
.
12월 - 31
윤년인지 아닌지만 알면...
인덱스처럼 해당일 넣어서...
만들수 있겠져...
글쳐...
참고로....
윤년구하는 알고리즘은 아무데에서나 검색할 수 있습니다..
해본지 오래되서 까먹은데..암튼 나누는 조건이 3개인거 기억나는군여..
쩌업...그래서 즐프하세염.
==> 윤년 SysUtils.IsLeapYear(Year: Word): Boolean; 입니다...
구현은 아래처럼...(4의 배수이고, 100의 배수가 아니거나 또는 400의 배수임)
function IsLeapYear(Year: Word): Boolean;
begin
Result := (Year mod 4 = 0) and ((Year mod 100 <> 0) or (Year mod 400 = 0));
end;
일/월/년 에 대한 함수는 DateUtils에 있습니다..
간단히 예를 들면.. 이런것들이죠.. Help를 보시면 충분히 이해하실 수 있습니다..
DateUtils.EndOfTheMonth();
DateUtils.DayOfTheMonth();
DateUtils.WeekOfTheMonth();
....
ps. 달력 컴포넌트를 만들다가 찾아봤네욤 (_ _); 즐프하세욤..