[Overview][Constants][Procedures and functions][Index] | Reference for unit 'dateutils' (#rtl)

# MonthsBetween

Calculate the number of whole months between two DateTime values

## Declaration

Source position: dateutil.inc line 257

`function MonthsBetween(`
`const ANow: TDateTime;`
`const AThen: TDateTime`
`):Integer;`

## Arguments

`ANow` |  | First moment in time
`AThen` |  | Second moment in time

## Function result

Number of whole months between ANow and AThen.

## Description

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

## See also

YearsBetween |  | Calculate the number of whole years between two DateTime values
WeeksBetween |  | Calculate the number of whole weeks between two DateTime values
DaysBetween |  | Number of whole days between two DateTime values.
HoursBetween |  | Calculate the number of whole hours between two DateTime values.
MinutesBetween |  | Calculate the number of whole minutes between two DateTime values.
SecondsBetween |  | Calculate the number of whole seconds between two DateTime values.
MilliSecondsBetween |  | Calculate the number of whole milliseconds between two DateTime values.

## Example

    Program Example56;

    { This program demonstrates the MonthsBetween function }

    Uses SysUtils,DateUtils;

    Procedure Test(ANow,AThen : TDateTime);

    begin
     Write('Number of months between ');
     Write(DateToStr(AThen),' and ',DateToStr(ANow));
     Writeln(' : ',MonthsBetween(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.

Documentation generated on: Feb 26 2014