肯定不行的,请诸位试试:var date1,date2:TDate; begin date1:=2002-10-11; date2:=2001-8-8; ShowMessage(IntToStr(trunc(date1-date2))); 结果为-4,显然不对! 为什么?刚才我加了又10分,再加!!
Result := DateTimeToTimeStamp(Date1).Date - DateTimeToTimeStamp(Date2).Date
procedure TForm1.Button1Click(Sender: TObject); var date1,date2:TDate; begin date1:=EncodeDate(2002,10,11); date2:=EncodeDate(2001,8,8); ShowMessage(IntToStr(trunc(date1-date2))); end;答案是429啊,不是-4
var D:TDate; begin D:=StrToDate('2001-7-2'); ShowMessage(IntToStr(Trunc(D-Date))); end; 以上在D5中通过,返回 -29
肯定不行的,请诸位试试:var date1,date2:TDate; begin date1:=strToDate('2002-10-11'); date2:=strtodate('2001-8-8'); ShowMessage(IntToStr(trunc(date1-date2))); 结果为 ,显然不对! 为什么?刚才我加了又10分,再加!!
date2:=99-7-5;
date:=date2-date1;
showmessage(DateTostr(date));结果竟然是99-12-3什么玩意??
前面人说的是正确的,日期作差就可以了。其整数部分是日期相差,小数部分是时间相差。用DecodeTime可以获得时间的具体值。DecodeDate不太适用。
Diff := Trunc(Date1 - Date2);
var date1,date2:TDate;
begin
date1:=2002-10-11;
date2:=2001-8-8;
ShowMessage(IntToStr(trunc(date1-date2)));
结果为-4,显然不对!
为什么?
begin
date1:=2002-10-11;
date2:=2001-8-8;
ShowMessage(IntToStr(trunc(date1-date2)));
结果为-4,显然不对!
为什么?刚才我加了又10分,再加!!
var
date1,date2:TDate;
begin
date1:=EncodeDate(2002,10,11);
date2:=EncodeDate(2001,8,8);
ShowMessage(IntToStr(trunc(date1-date2)));
end;答案是429啊,不是-4
D:TDate;
begin
D:=StrToDate('2001-7-2');
ShowMessage(IntToStr(Trunc(D-Date)));
end;
以上在D5中通过,返回 -29
肯定不行的,请诸位试试:var date1,date2:TDate;
begin
date1:=strToDate('2002-10-11');
date2:=strtodate('2001-8-8');
ShowMessage(IntToStr(trunc(date1-date2)));
结果为 ,显然不对!
为什么?刚才我加了又10分,再加!!
我忘了写strToDate!