主题:时间得计算问题
秋叶言
[专家分:0] 发布于 2006-04-18 15:42:00
我要做个计时收费系统,如何计算时间,如2006-04-18 23:00:00 到 2006 - 04 - 19 01:00:00 时间差是2个小时,如何才能得到这两个小时,此外,如何化成分钟,没分钟是2元。
谢谢哪位前辈指点,最好能有实例
回复列表 (共3个回复)
沙发
aizaixiiii [专家分:2130] 发布于 2006-04-18 16:16:00
SecondsBetween //返回的是分钟差
HoursBetween //返回的是小时差
板凳
progfan [专家分:2270] 发布于 2006-04-19 11:45:00
//计算两个日期时间型数值之间的时间差程序
//放置两个Edit控件用于显示时间信息
procedure TForm1.Button1Click(Sender: TObject);
var
t1,t2:TDateTime; //t1起始时间,t2终止时间
nyear,nmonth,nday,nhour,nminute,nsecond:integer; //年月日时分秒
ct3:string; //以年月日时分秒表示的时间差
minuteTotal:integer; //折合成分钟的时间差
begin
//'1899-12-30 00:00:00'为now日期时间的起始;
t1:=strtodatetime('2006-04-18 00-00-00');
t2:=now; //当前时间
ct3:=datetimetostr(t2-t1); //求时间差
nyear:=strtoint(copy(ct3,1,4))-1899; //年
nmonth:=strtoint(copy(ct3,6,2))-12; //月
nday:=strtoint(copy(ct3,9,2))-30; //日
nhour:=strtoint(copy(ct3,12,2)); //时
nminute:=strtoint(copy(ct3,15,2)); //分
nSecond:=strtoint(copy(ct3,18,2)); //秒
edit1.Text:='时间差为:'
+inttostr(nyear)+'年'
+inttostr(nmonth)+'月'
+inttostr(nday)+'日'
+inttostr(nhour)+'小时'
+inttostr(nminute)+'分'
+inttostr(nsecond)+'秒';
minuteTotal:=nYear*365*24*60
+nMonth*30*24*60
+nDay*60*24
+nHour*60
+nMinute; //折合成分钟
edit2.text:='折合成分钟为' +inttostr(minuteTotal)+'分';
end;
3 楼
秋叶言 [专家分:0] 发布于 2006-04-19 19:41:00
谢谢2楼的前辈,问题解决了,给你点奖励30分,以后多教我们业余的处学者呀,呵呵
我来回复