SecondsBetween
SecondsBetween returns the number of seconds between two specified TDateTime values.
Fractional or part seconds (milliseconds) are not counted, so the function will return a whole integer value only.
For example, SecondsBetween reports the difference between 10:00 A.M. and 10:00:00:999 A.M. on the same day as zero (0) seconds between, because the TDateTime value stops a millisecond short of an entire second.
The ordering of the two dates doesn't matter - the number of seconds will not be negative.
Declaration: Function SecondsBetween(const ANow, AThen: TDateTime): Int64;
A simple example follows.
procedure
OnMapEvent(
var
Value:Variant);
var
TheDate, ThatDate : TDateTime;
NumBetw :
integer
;
begin
//Result is 0 seconds
TheDate := EncodeDateTime(
2023
,
02
,
13
,
10
,
00
,
00
,
000
);
ThatDate := EncodeDateTime(
2023
,
02
,
13
,
10
,
00
,
00
,
999
);
NumBetw := SecondsBetween(TheDate,ThatDate);
LogInfo(
'The number of seconds between these dates is - '
+IntToStr(NumBetw));
//Result is 1 second
ThatDate := EncodeDateTime(
2023
,
02
,
13
,
10
,
00
,
01
,
000
);
NumBetw := SecondsBetween(TheDate,ThatDate);
LogInfo(
'The number of seconds between these dates is - '
+IntToStr(NumBetw));
//Result is 59 seconds
ThatDate := EncodeDateTime(
2023
,
02
,
13
,
10
,
00
,
59
,
000
);
NumBetw := SecondsBetween(TheDate,ThatDate);
LogInfo(
'The number of seconds between these dates is - '
+IntToStr(NumBetw));
end
;