现在的位置: 首页 > 综合 > 正文

求两个日期时间的差 以*天**小时**分钟

2013年12月02日 ⁄ 综合 ⁄ 共 756字 ⁄ 字号 评论关闭

可以直接用两个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 单元

抱歉!评论已关闭.