DaysBetween和DaySpan都考虑了时间,我现在只考虑日期,请问该怎样处理?比如:2013-07-22 09:23:09和2013-07-23 07:23:09这两个日期用DaysBetween得出的天数是0,因为不够一整天,但我想要的结果是1,请问如何处理,在线等各位老师的建议,谢谢!

解决方案 »

  1.   

    日期型变量,整数部分表示逝去的天数,小数部分表示逝去的时间。
    把两个变量转换为real,然后只取整数部分,然后,用得到的整数做减法。
    记得数字见面,数量加1哦。
      

  2.   

    用Trunc就可以了,如下代码:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      a, b: TDateTime;
      c: integer;
    begin
      a := StrToDateTime('2013/07/22 09:23:09');
      b := StrToDateTime('2013/07/23 07:23:09');
      c := DaysBetween(Trunc(b), Trunc(a));
      ShowMessage(IntToStr(c));
    end;