DateDelta 
—————————————————————————————————
MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
             毁誉由人,望天上云卷云舒,聚散任风。';
if Not Assigned(I) then
  I := TI.Create(Nil);
I.Maxim := MaximStr;
I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
I.Desire := '加不加分随你';
—————————————————————————————————
    

解决方案 »

  1.   

    StrtoDatetime('2002-05-26')-StrtoDatetime('2001-02-01')
      

  2.   

    写错了,应该是daysbetween—————————————————————————————————
    MaximStr := '宠辱不惊,看庭前花开花落,去留无意;
                 毁誉由人,望天上云卷云舒,聚散任风。';
    if Not Assigned(I) then
      I := TI.Create(Nil);
    I.Maxim := MaximStr;
    I.Explain := '假如上述代码中出现“OA”、“3D”等字样,改为“=”或者去掉';
    I.Desire := '加不加分随你';
    —————————————————————————————————
        
      

  3.   

    StrToDate('2002-5-26')-StrToDate('2001-02-01');
    TDateTime类型的变量直接相减的结果就是它们相差的天数(可能有小数,表明时间)。
    如果要一个整数,就再用Trunc或Round取整。
      

  4.   

    day:=int(StrToDate('2002-5-26')-StrToDate('2001-02-01'));
      

  5.   

    daysbetween(StrToDate('2002-5-26')-StrToDate('2001-02-01'));
    肯定行的,我就用的这个!
      

  6.   

    use DateUtils;var a:integer;
    begin
    a:=daysbetween(StrToDate('2002-5-26'),StrToDate('2001-02-01'));
    end;
     
      

  7.   

    use DateUtils;var a:integer;
    begin
    a:=daysbetween(StrToDate('2002-5-26'),StrToDate('2001-02-01'));
    end;加分了,呵呵:)
      

  8.   

    应该怎么做,能请高手说清楚些吗?原谅我的愚笨,急!
    要能显示出相差的天数,按照楼上方法,为什么只显示结果为’1900-04-23‘
    我用的是东问西答的办法,不行。
    daysbetween是不是个函数?
      

  9.   

    我用daysbetween,编译时说没有定义,怎么回事????
    能说说吗
      

  10.   

    daysbetween是delphi6引入的,以前没有
      

  11.   

    nDays := Round(StrtoDate('2002-05-25') - StrtoDate('2001-02-01') + 0.5);
      

  12.   

    我用的可是DELPHI5呀,显示的不对呀?是什么'####,##,##'是个日期,
    不是天数呀,救急呀!!!!
      

  13.   

    你的返回值类型错了,试试调用下面的函数,我就不信不是天数。
    procedure ShowDateDiff;
    var
      nDays: Integer;
    begin
      nDays:= Round(StrtoDate('2002-05-25') - StrtoDate('2001-02-01') + 0.5);
      ShowMessage(IntToStr(nDays));
    end;
      

  14.   

    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, DateUtils;type
      TForm1 = class(TForm)
        procedure FormCreate(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;implementation{$R *.dfm}procedure TForm1.FormCreate(Sender: TObject);
    begin
      Caption := FloatToStr(DaySpan(StrToDate('2002-5-1'),StrToDate('2001-5-1')));
    end;end.
      

  15.   

    var
       D: integer;
    begin
        D:=Round(StrtoDateTime('2002-01-01')-StrtoDatetime('2001-01-01')));
        if D<0 then D:=0;
    end;
    我在d5里编译试过了,没问题
      

  16.   

    use DateUtils;//use单元中必须的,然后就可以了,不会说没定义的var a:integer;
    begin
    a:=daysbetween(StrToDate('2002-5-26'),StrToDate('2001-02-01'));
    end;