Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/delphi/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Delphi 日期时间之间的差异(小时、分钟、秒)_Delphi_Delphi 2010 - Fatal编程技术网

Delphi 日期时间之间的差异(小时、分钟、秒)

Delphi 日期时间之间的差异(小时、分钟、秒),delphi,delphi-2010,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) 然后,我想从数据库中获取它,并在DateUtils中以字符串格式hh:

我试图获得两个日期时间之间的差异,并将其显示为字符串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)


然后,我想从数据库中获取它,并在
DateUtils
中以字符串格式hh:mm显示它。有一个函数
MinutesBetween
,可以这样使用:

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

我可以使用
DateUtils
提出这个简单的代码:

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

您真的需要数据库中的
mins
字段吗
vstart
vend
字段已经包含了所有需要返回它们之间差异作为查询结果的信息(以您需要的格式)。这个答案给出了hh:mm,但标题中提到的秒数呢?@Dreamer64,请使用<代码>s:=中间的秒数(供应商、vstart);HMSstr:=格式(“%2.2d:%2.2d:%2.2d”,[s div 3600,(s div 60)mod 60,s mod 60]),其中s是
Int64
变量。