以小时,分钟,秒为单位的日期时间之间的差异

时间:2012-10-23 13:42:12

标签: delphi delphi-2010

我正在尝试获取两个日期时间之间的差异,并将其显示为字符串为hh:mm

q.parambyname('vstart').asdatetime:=  vstart;
q.parambyname('vend').asdatetime:= vend;
d:= vend-vstart;
mins:= d * 1440;
q.ParamByName('mins').asBCD:= mins;

目前数据库以分钟为单位存储

例子(0.39)

然后我想从数据库中取出它并以字符串格式hh:mm

显示它

2 个答案:

答案 0 :(得分:16)

DateUtils中有一个函数MinutesBetween,可以这样使用:

m := MinutesBetween(vend,vstart);
yourHMStr := Format('%2.2d:%2.2d',[m div 60,m mod 60]);

答案 1 :(得分:2)

我可以使用DateUtils提出以下简单代码:

DiffTimeStr:= FormatDateTime('hh:nn:ss', TimeEnd - TimeStart);