可以直接用两个TDate型的日期相减,得到的就是两个日期之间的差。
或者
用DaysBetween(const:ANow,AThen:TDateTime):Integer函数得到两个日期之间相差的天数
两个TDateTime型的时间,用HoursBetween(const:ANow,Athen:TDateTime):Int64可求出两个时间之间相差的小时数
用MinutesBetween(const:ANow,Athen:TDateTime):Int64可求出两个时间之间相差的分钟数
用SecondsBetween(const:ANow,Athen:TDateTime):Int64可求出两个时间之间相差的秒数
例:
function GetDiffDateTime(ANewDateTime,AOldDateTime : TDateTime) : string;
var
iDifD,iDifH,iDifM,iDifs : integer;
begin
iDifD := DaysBetween(ANewDateTime,AOldDateTime);
iDifH := HoursBetween(ANewDateTime,AOldDateTime) mod 24;
iDifM := MinutesBetween(ANewDateTime,AOldDateTime) mod 60;
//iDifs := SecondsBetween(ANewDateTime,AOldDateTime);
result := Format('%d 天 ',[iDifD]) +
Format('%.2d 小时 ',[iDifH]) +
Format('%.2d 分钟 ',[iDifM]);
end;
注:需要引用 DateUtils 单元