请问DELPHI中求两日期的间隔天数用什么函数??(20分)

  • 主题发起人 主题发起人 shuizi2000
  • 开始时间 开始时间
S

shuizi2000

Unregistered / Unconfirmed
GUEST, unregistred user!
请问DELPHI中求两日期的间隔天数用什么函数??
 
好象是可以直接相减的
 
function DaysBetween(const ANow, AThen: TDateTime): Integer;

Description

Call DaysBetween to obtain the difference, in days, between two TDateTime values.

DaysBetween counts only whole days that have elapsed. Thus, DaysBetween reports the difference between Dec 31, 1999 11:59 PM and Jan 1, 2000 11:58 PM as 0 because the difference is one minute short of an entire day.
 
直接相减就可以了
 
两值相减再取整。
 
DaysBetween 好像只有D6有
 
我的是DELPHI 5 ,两数相减取整不行呀??

var
a: TDate;
b: TDate;
begin
a := StrToDate('2001-12-1');
b := StrToDate('2001-12-9');
ShowMessage(IntToStr(b - a)); //这句不能通过???
end;
 
var
a: TDate;
b: TDate;
begin
a := StrToDate('2001-12-1');
b := StrToDate('2001-12-9');
ShowMessage(FloatToStr(b - a));
////就可以了
 
应该是取整后相减,不然今天早上减昨天下午会是0天
 
datediff函數
 
function DaysBetween(const ANow, AThen: TDateTime): Integer;
 
aaa:=datetimetotimestamp(Strtodatetime(strtime1)-Strtodatetime(strtime2));
if (aaa.Time<59*1000)and(aaa.date=693594) then //(abs(aaa.Time)<59*1000)and(aaa.date=693594)
参考一下我的这个笨办法,我试过没有问题的,aaa.time/1000/60/60/24就是天数[:D]
 
后退
顶部