Skip to content

YearsBetween

Calculate the number of whole years between two TDateTime values.

Declaration

Source position: dateutil.inc line 279

function YearsBetween(const ANow: TDateTime; const AThen: TDateTime; 
                     AExact: Boolean=False) : Integer;

Arguments

Name Description
ANow First moment in time.
AThen Second moment in time.

Function result

Number of whole years between ANow and AThen.

Description

YearsBetween returns the number of whole years between ANow and AThen. This number is an approximation, based on an average number of days of 365.25 per year (average over 4 years). This means the fractional part of a year is dropped.

See also

Name Description
MonthsBetween Calculate the number of whole months between two TDateTime values.
WeeksBetween Calculate the number of whole weeks between two TDateTime values.
DaysBetween Number of whole days between two TDateTime values.
HoursBetween Calculate the number of whole hours between two TDateTime values.
MinutesBetween Calculate the number of whole minutes between two TDateTime values.
SecondsBetween Calculate the number of whole seconds between two TDateTime values.
MilliSecondsBetween Calculate the number of whole milliseconds between two TDateTime values.
YearSpan Calculate the approximate number of years between two TDateTime values.

Example

Program Example55;

{ This program demonstrates the YearsBetween function }

Uses SysUtils,DateUtils;

Procedure Test(ANow,AThen : TDateTime);

begin
 Write('Number of years between ');
 Write(DateToStr(AThen),' and ',DateToStr(ANow));
 Writeln(' : ',YearsBetween(ANow,AThen));
end;

Var
  D1,D2 : TDateTime;

Begin
  D1:=Today;
  D2:=Today-364;
  Test(D1,D2);
  D2:=Today-365;
  Test(D1,D2);
  D2:=Today-366;
  Test(D1,D2);
  D2:=Today-390;
  Test(D1,D2);
  D2:=Today-368;
  Test(D1,D2);
  D2:=Today-1000;
  Test(D1,D2);
End.