delphi日期之差计算

标题:        作者:孙空空  时间:2009-09-25 09:41
时间处理的秘密 
TDateTime类型实际上就是一个double(双精度数). 整数部分是日期小数部分是时间。例如 

var 
DateTime : TDateTime; 
Date : TDateTime; 
Time : TDateTime; 
begin 
DateTime := now; 
//获得日期 
Date := Trunc( DateTime ); 
//获得时间 
Time := Frac( DateTime ); 
end; 

日期运算 
如果你想增加几天,只需要加一个天数就可以了 

var 
DateTime : TDateTime; 
begin 
DateTime := now; 
//七天以后 
DateTime := DateTime + 7; 
end; 

想要知道两个日期的差距,只需要互相减一下就可以了。 

var 
StartTime, StopTime, Difference : TDateTime; 
begin 
Difference := StopTime - StartTime; 
end;
 
标题:        作者:孙空空  时间:2009-09-25 09:41
日期有两种:TDate, TDateTime 
无论是哪一种,在系统中都是以双精度浮点数(Double)的形式存储的。所以日期之间可以直接加减。 
1. 两天之间的天数: 
var myDate1,myDate2:TDate; 
begin 
myDate1:=StrToDate('2002-1-1'); 
myDate2:=StrToDate('2002-8-8'); 
Edit1.text:=IntToStr(Round(myDate1-myDate2)); 
end; //Round()是四舍五入取整 
2. 某个日期180天后的日期 
var myDate1,myDate2:TDate; 
begin 
myDate1:=StrToDate('2002-11-12'); 
myDate2:=myDate1+180; 
Edit1.Text:=DateToStr(myDate2); 
end; 
3. 如果日期是TDateTime类型的(日期+时间) 
相应的日期操作为:DateTimeToStr(),StrToDateTime()等 
计算两个DateTime之间的小时差,相减结果*24,然后取整 
计算两个DateTime之间的分钟差,相减结果*24*60,然后取整 
计算两个DateTime之间的秒差,相减结果*24*60*60,然后取整
 
标题:        作者:孙空空  时间:2009-09-25 09:41
function DaysBetween(const ANow, AThen: TDateTime): Integer; 
返回整天数目,例如,1999-12-31 23:59:00到2000-1-1 23:58:00 
它将返回0,因为它还不足一天。:) 
相反, 
function DaySpan(const ANow, AThen: TDateTime): Double; 
将返回不完整的天数,例如,刚好一天就返回1,如果不足一天 
则可能返回0.9天或0.8天或0.5天等等。:)
 
标题:Delphi日期计算问题        作者:crazy_wen  时间:2009-09-24 13:54
hourtime:=DateUtils.HourOf(now - 17/60/24);请问后面的数字式什么意思,谢谢  
标题:        作者:kjw_ok  时间:2009-12-29 12:30
观望中。。。。
posted @ 2012-09-07 10:50  西瓜大  阅读(1620)  评论(0)    收藏  举报