一个问题!!进来侃侃。。(100分)

  • 主题发起人 主题发起人 zero2001
  • 开始时间 开始时间
Z

zero2001

Unregistered / Unconfirmed
GUEST, unregistred user!
①如何计算两个日期之间的天数(如:00-8-23到01-2-24)??
 
直接相减,日期相减就是天数
 
呀,来晚了
 
整数部份是天数,小数部分是时差
 
var
d:tdatetime;
v1,v2:SYSTEMTIME;
begin
d:=DateTimePicker1.Date;
DateTimeToSystemTime(date,v1);
DateTimeToSystemTime(d,v2);
showmessage(inttostr( v1.wday-v2.wday ));
 
楼上的讲的有问题,它只是对天数作了相减!
8.17-8.1=16
8.17-7.31=-14
明显不对!!!!!!!!!
 
不会取模吗?
 
var
d1, d2: TDateTime;
begin
Result := Round(d2 - d1);
end;
 
呵呵。谢谢诸位了
 
是直接相减,我的程序试验的结果如下
DateTimePicker1 DateTimePicker2 差
2001-8-18 2001-8-17 1
2002-1-15 2001-8-17 151
2002-10-1 2001-8-17 410

程序片断:
procedure TForm1.Button1Click(Sender: TObject);
var s:string;
begin
Str(DateTimePicker1.DateTime-DateTimePicker2.DateTime:0:0, s);
Edit1.Text:=s;
end;
 
后退
顶部