Q&A

  • 매년 특정요일 (수요일) 에 해당하는 일자구하기

팁 및 묻고 답하기를 아무리 보아도 실력이 되지 않네요.

해당 연도를 선택하면 그 연도에 해당하는 수요일의 일자를 출력할 수 있을까요?

09-04-1
09-04-8
09-04-15 ...

와 같이 출력할 수 있었으면 하는데요...

고수님들의 답변을 간절히 기다립니다.
감사합니다.
3  COMMENTS
  • Profile
    최용일 2009.04.01 21:11
    DayOfTheWeek이란 함수로 요일을 알 수가 있습니다. 월요일=1, 화요일=2, ... 일요일=7


    uses
    ..., DateUtils;

    procedure TfrmMain.Button1Click(Sender: TObject);
    var
    SDate, EDate: TDateTime;
    Week: Word;
    Index: Integer;
    begin
    SDate := EncodeDate(2009, 1, 1);
    EDate := EncodeDate(2009, 12, 31);
    Week := DayOfTheWeek(SDate);

    SDate := SDate + (((DaysPerWeek - Week) + DayWednesday) mod DaysPerWeek);
    while SDate <= EDate do
    begin
    Memo1.Lines.Add(FormatDateTime('yyyy-mm-dd', SDate));
    SDate := SDate + DaysPerWeek;
    end;
    end;
  • Profile
    소천 2009.04.01 21:52
    빠른 답변에 깊이 감사드립니다.

    근데 DateUtils 를 Uses에 선언만 해주면 될줄 알았는데 그게 아니네요. ㅠㅠ

    DateUtils 파일을 별도로 있어야 되나요? 부탁드립니다.


    질문답변에 조회해보니 델파이5에는 이함수가 없다고 되어 있네요.

    대체할 만한 함수부탁드리면 너무 무리이겠지요^^*
  • Profile
    최용일 2009.04.02 01:32
    DayOfTheWeek --> DayOfWeek
    DaysPerWeek --> 7
    DayWednesday --> 3