我在窗体上加上了2个日期控件,开始和结束,选好开始和结束日期后,如何得到这两个日期之间的所有日期?
比如选了2012-03-08 到 2012-03-11
那么结果就是2012-03-08、2012-03-09、2012-03-10、2012-03-11。
还有就是跨月份的准确,不能2月30日。谢谢!

解决方案 »

  1.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
    d1,d2: TDateTime;
    begin
      d1:=StrToDate('2012-02-25');
      d2:=StrToDate('2012-03-05');
      while (d1<d2)
      do
      begin
        d1:=d1+1;
        Memo1.Lines.Add(DateToStr(d1));
      end;
    end;
      

  2.   

    uses dateutils;var
      i,dsys:integer;
    begin
     dsys:=DaysBetween(D1, D2);
     for i:=0 to dsys do
        showmessage(DateToStr(D1+i));
    end;
      

  3.   


    var
      bt, et: TDate;
    begin
      bt := StrToDate('2012-02-26');
      et := StrToDate('2012-03-06');
      repeat
        Memo1.Lines.Add(DateToStr(bt));
        bt := bt + 1;
      until bt > et;
    end;