[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.

 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.
```