WithinPastMilliSeconds function
Check whether two TDateTimes are only a number of milliseconds apart.
Declaration
function WithinPastMilliSeconds(const ANow: TDateTime;
const AThen: TDateTime;
const AMilliSeconds: Int64): BooleanArguments
ANow | First moment in time. |
AThen | Second moment in time. |
AMilliSeconds | Number of milliseconds to check. |
Function result
True if
ANow and
Athen are only
AMilliSeconds apart,
false otherwise.Description
WithinPastMilliSeconds compares the timestamps
ANow and
AThen
and returns
True if the difference between them is at most
AMilliSeconds milliseconds apart, or
False if they are further
apart.
Since this function uses the MilliSecondsBetween function to calculate
the difference in milliseconds, this means that fractional milliseconds do not count, and
the fractional part is simply dropped, so for two dates actually 2 and a half
milliseconds apart, the result will also be
True
See also
- WithinPastYears
- WithinPastMonths
- WithinPastWeeks
- WithinPastDays
- WithinPastHours
- WithinPastMinutes
- WithinPastSeconds
Example: ex54
Program Example54;
{ This program demonstrates the WithinPastMilliSeconds function }
Uses SysUtils,DateUtils;
Procedure Test(ANow,AThen : TDateTime; AMilliSeconds : Integer);
begin
Write(TimeToStr(AThen),' and ',TimeToStr(ANow));
Write(' are within ',AMilliSeconds,' milliseconds: ');
Writeln(WithinPastMilliSeconds(ANow,AThen,AMilliSeconds));
end;
Var
D1,D2 : TDateTime;
Begin
D1:=Now;
D2:=D1-(0.9*OneMilliSecond);
Test(D1,D2,1);
D2:=D1-(1.0*OneMilliSecond);
Test(D1,D2,1);
D2:=D1-(1.1*OneMilliSecond);
Test(D1,D2,1);
D2:=D1-(2.5*OneMilliSecond);
Test(D1,D2,1);
Test(D1,D2,2);
Test(D1,D2,3);
End.An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.
