气压阀接头螺纹规格:关于如何通过日期计算天数

来源:百度文库 编辑:中科新闻网 时间:2024/04/26 07:52:14
正用delphi7.0作了一个系统,最后作结算时不知怎样通过住店日期和离店日期计算所住天数,清高帮忙解决,最好有代码.

1 在窗体中增加label1 和label2 ,label3caption分别为“住店日期”和“离店日期”,“天数为”
2 在窗体中增加DateTimePicker1和DateTimePicker2分别将其name改为date1 和date2 用于选择两个时间。
3 在窗体中增加两个bitbtn 分别将caption设置为“确定”和“关闭”
4 在label3旁边加一个edit1 用于显示天数。
5 在“关闭”按钮中加
close;
6 在“确定”按钮中加入代码
var
z,l,i:Tdatetime;
h:string;
begin
try
z:=strtodate(datetostr(date1.Date));
l:=strtodate(datetostr(date2.Date));
i:=l-z;
edit1.Text:=floattostr(i);
except
showmessage('计算失败');
end;
end;

计算时间差的函数好像有的。

“Delphi中表示时间通常使用TDateTime类型,这个类型实际上是Double类型。整数部分表示自12/30/1899以来的天数,而小数部分是将不足一天的部分除以24小时,如上午6点是0.25。要进行时间运算只需要直接进行加减就可以了。 ”

因此,days := date1-date2; days的整数部份就是天数了。
另外,对于住店的日期计算,还要考虑结算时间。大多数住店的结算时间为中午12:00;因此,凌晨2:00住店,到第二天凌晨1:00离开,要算2天。

编写的思想是:把住店日期和离店日期都换成一年里的第几天,例如住店日期是1月28日,那换算成是第28天,那离店日期2月5号,换算成36天,然后再相减再加1,应该可以了.
但这个方法有个问题是,要是他是跨年的话...那就要成了负数了,而且还有闰年的问题.....
晕呀...那个也是大问题!!

日期相减的值就默认得是天数,这个时间程序自动就已经处理了。

应该有计算机天数的函数吧。