时间减去时间等于什么?笑可以,但不可以出声!(70分)

  • 主题发起人 主题发起人 wanglong4
  • 开始时间 开始时间
W

wanglong4

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure TForm1.FormCreate(Sender: TObject);

begin
edit1.Text:=datetostr(now);
edit2.Text:='2002-1-30';

end;

procedure TForm1.Button1Click(Sender: TObject);
var
a,b,c:tdate;
begin
a:=strtodate(edit1.text);
b:=strtodate(edit2.text);
c:=a-b;
edit3.Text:=datetostr(c);
end;
end.
我的edit3显示的是1899-12-31,应该等于1呀!
 
a-b确实是1,但是你试试Edit3.text:=datetostr(1)是什么
 
天哪!我可怎么办啊?
 
function DaysBetween(const ANow, AThen: TDateTime): Integer;
 
Date实际是个Double值,你取整就是天数了。帮助上有详细说明。
 
我还是不会!
 
看这个
TDateTime = type Double;
就是说日期型变量是Double的,他的整数表示日期,小数表示时间。
这样你就好办了。
 
我的天,全是英文!
 
看看这个。
procedure TForm1.Button1Click(Sender: TObject);
var
abc, cde: TDateTime;
begin
abc := Now;
cde := StrToDate('2001-1-10');
//显示相隔日期
ShowMessage(FloatToStr(Trunc(abc - cde)));
//下面两句相同,都是显示相隔时间
ShowMessage(TimeToStr(abc - cde - Trunc(abc - cde)));
ShowMessage(TimeToStr(abc - cde));
end;
 
等于一个浮点数!
 
>>Date实际是个Double值,你取整就是天数了。
这个已经将得很清楚了
差值是以天为单位的

你用datetostr转换
当然是1899-12-31
 
procedure TForm1.Button1Click(Sender: TObject);
var
a,b:tdate;
c:double;
begin
a:=strtodate(edit1.text);
b:=strtodate(edit2.text);
c:=a-b;
edit3.Text:=floattostr(c);

end;
 

时间减去时间当然是时间的差啊

关键在于你怎样表示这个差值了
 
多人接受答案了。
 

Similar threads

后退
顶部