gpt4 book ai didi

delphi - Delphi中两个TDATETIME变量相减并返回结果(以分钟为单位)

转载 作者:行者123 更新时间:2023-12-03 15:37:53 25 4
gpt4 key购买 nike

我有两个 TDateTime 变量,如下所示:

s := StrToDateTime('03/03/2017 10:10:12');
e := StrToDateTime('04/04/2017 10:10:12');

我需要找出它们之间的区别,采用 hh:mm:ss 格式。

...Between() 函数在这里没有帮助我。

最佳答案

使用DateUtils.SecondsBetween功能:

Uses
DateUtils,SysUtils;

function TimeDiffStr(const s1,s2: String): String;
var
t1,t2: TDateTime;
secs: Int64;
begin
t1 := StrToDateTime(s1);
t2 := StrToDateTime(s2);
secs := SecondsBetween(t1,t2);
Result := Format('%2.2d:%2.2d:%2.2d',[secs div SecsPerHour,(secs div SecsPerMin) mod SecPerMin,secs mod SecsPerMin]);
end;

begin
WriteLn(TimeDiffStr('03/03/2017 10:10:12','04/04/2017 10:10:12'));
ReadLn;
end.

根据秒数,计算小时、分钟和剩余秒数。

<小时/>

如果您想要以分钟为单位的差异,请使用 DateUtils.MinutesBetween功能:

function TimeDiffStr(const s1,s2: String): String;
var
t1,t2: TDateTime;
minutes: Int64;
begin
t1 := StrToDateTime(s1);
t2 := StrToDateTime(s2);
minutes := MinutesBetween(t1,t2);
Result := Format('%2.2d:%2.2d:%2.2d',[minutes div MinsPerHour,minutes mod MinsPerHour,0]);
end;

关于delphi - Delphi中两个TDATETIME变量相减并返回结果(以分钟为单位),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43218741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com