Q&A

  • 특정날짜 두개을 주어서
그 사이의 일요일은 총 며칠일까요?
ex)  2001년 6월 5일 ~ 2002년 5월 17일 까지의 일요일은 총 며칠인가?
1  COMMENTS
  • Profile
    홍성락 2002.05.18 00:43

    hsr//////////////////////////////////////////////////////////
    procedure TForm1.Button1Click(Sender: TObject);
    var
        i, Day_count : integer;
        SDate, EDate: TDate;
    begin
        Day_count := 0;
        //SDate := StrToDate('2001-6-5');
        //EDate := StrToDate('2002-5-17');
        //이렇게해도 되나 시스템의 날짜형식의 차이로...아래처럼하면 범용적임
        SDate := StrToDate(FormatDateTime('yyyy-mm-dd',EncodeDate(2001, 6, 5)));
        EDate := StrToDate(FormatDateTime('yyyy-mm-dd',EncodeDate(2002, 5, 17)));
        for i := 0 to Round(EDate-SDate) do
           if DayOfWeek(SDate + i) = 1 then inc(Day_count);

        showmessage(intToStr(Day_count) + '일 입니다.');
    end;