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

# MonthSpan

Calculate the approximate number of months between two DateTime values.

## Declaration

Source position: dateutil.inc line 272

 function MonthSpan( const ANow: TDateTime; const AThen: TDateTime ):Double;

## Arguments

 ANow First moment in time AThen Second moment in time

## Function result

Number (fractions included) of months between ANow and AThen

## Description

MonthSpan returns the number of month between ANow and AThen, including any fractional parts of a month. This number is an approximation, based on an average number of days of 30.4375 per month (average over 4 years).

 YearSpan Calculate the approximate number of years between two DateTime values. WeekSpan Calculate the approximate number of weeks between two DateTime values. DaySpan Calculate the approximate number of days between two DateTime values. HourSpan Calculate the approximate number of hours between two DateTime values. MinuteSpan Calculate the approximate number of minutes between two DateTime values. SecondSpan Calculate the approximate number of seconds between two DateTime values. MilliSecondSpan Calculate the approximate number of milliseconds between two DateTime values. MonthsBetween Calculate the number of whole months between two DateTime values

## Example

```Program Example64;

{ This program demonstrates the MonthSpan function }

Uses SysUtils,DateUtils;

Procedure Test(ANow,AThen : TDateTime);

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