WeeksBetween
WeeksBetween returns the approximate number of weeks between two specified TDateTime values.
Fractional weeks are not counted, so the function will return a whole integer value only.
For example, WeeksBetween reports the difference between 12:00 A.M. on 13th February and 11:59 P.M. on 19th February as zero(0), because it is one (1) minute short of a full week.
The ordering of the two dates doesn't matter - the number of weeks will not be negative.
Declaration: Function WeeksBetween(const ANow, AThen: TDateTime): Integer;
Examples follow.
procedure OnMapEvent(var Value:Variant);var TheDate, ThatDate : TDateTime; NumBetw : integer;begin //Result is zero (as above) TheDate := EncodeDateTime(2023, 02, 13, 00, 00, 00, 000); ThatDate := EncodeDateTime(2023, 02, 19, 23, 59, 00, 000); NumBetw := WeeksBetween(TheDate,ThatDate); LogInfo('The number of weeks between these dates is - '+IntToStr(NumBetw)); //Result is 1 ThatDate := EncodeDateTime(2023, 02, 20, 00, 00, 00, 000); NumBetw := WeeksBetween(TheDate,ThatDate); LogInfo('The number of weeks between these dates is - '+IntToStr(NumBetw)); end;