【delphi】获取两个时间之间的时长间隔字符串

本文介绍了一个用于计算两个时间点之间的时间间隔的函数,并演示了如何将其转换为易于理解的字符串格式,如“10天3小时23分18秒429毫秒”。此函数可以方便地应用于程序启动到关闭等场景。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有时我们需要知道程序或者服务运行的时长,比如程序从启动到关闭,总共运行了 10天 3小时 23分 18秒 429毫秒。那么我们就需要一个函数来进行转换。T1,T2分别表示开始时间和结束时间。

//计算某个时间之间的字符串格式
function Get_IntervalTime(T1,T2 : TDateTime) : string;
const
  sFmt = '%d 天 %d 小时 %d 分钟 %d 秒 %d 毫秒';
  // sFmt = '%d Days %d Hours %d Minutes %d Seconds';
  HoursPerDay = 24;
var
  Days, Hours, Minutes, Seconds, miSeconds: Cardinal;
  ASeconds: Cardinal;
begin
  ASeconds := SecondsBetween(T1, T2);
  miSeconds := MilliSecondsBetween(T1, T2);
  miSeconds := miSeconds mod 1000;

  Hours := ASeconds div SecsPerHour; // 总的小时数
  Minutes := (ASeconds - Hours * SecsPerHour) div 60; // 总的分钟数
  Seconds := ASeconds mod 60;
  Days := Hours div HoursPerDay;
  Hours := Hours mod HoursPerDay;

  Result := Format(sFmt, [Days, Hours, Minutes, Seconds, miSeconds]);
end;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海纳老吴

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值