比如计算从2000年8月27日到今天2003年8月27日过了多少天,不要精确到小时,比如从2000年8月27日起,一到2000年8月28日就显示为1天就可以了,很急,请大家帮忙.

解决方案 »

  1.   

    var data1:Tdatetime;
        i:integer;
    begin
    给data1赋值;
    i:=date()-data1;
    直接相减就是相差的天数,你是怎么做的,不妨贴出来看看
      

  2.   

    设d1、d2是Tdate类型,trunc(d2)-trunc(d1)就得到天数间隔
    如果是字符串类型,d1='1999-02-13',d2='2000-11-23',则先转化Tdate类型,trunc(StrToDate(d2))-trunc(StrToDate(d1))
      

  3.   

    http://expert.csdn.net/Expert/topic/2165/2165703.xml?temp=3.171939E-02
      

  4.   

    monthsbetween(const anow,athen:TDtatetime);引用单元dateutils
    daysbetween(const anow,athen:TDatetime);引用单元dateutils
      

  5.   

    很简单,TDataTime类型支持直接相减。
    TDateTime date1,date2;
    int days = date2-date1;即可。
    如果你的时间是字符串,用
    date1 = TDateTime("2002-08-28");
    date2 = TDateTime("2002-08-29");
    转换即可。
    给分吧。
      

  6.   

    function Trunc(X: Extended): Int64;trunc(date2)-trunc(date1)^_^
      

  7.   

    var
      time1,time2:TDatetime;
      i:integer;
    begin
       time1 := 2003-8-28;
       time2 := 2003-8-29;
       i :=trunc(time1)-trunc(time2);
       showmessage(inttostr(i));
    end;