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

# MonthSpan

Calculate the approximate number of months between two TDateTime values.

## Declaration

Source position: dateutil.inc line 285

 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 TDateTime values. WeekSpan Calculate the approximate number of weeks between two TDateTime values. DaySpan Calculate the approximate number of days between two TDateTime values. HourSpan Calculate the approximate number of hours between two TDateTime values. MinuteSpan Calculate the approximate number of minutes between two TDateTime values. SecondSpan Calculate the approximate number of seconds between two TDateTime values. MilliSecondSpan Calculate the approximate number of milliseconds between two TDateTime values. MonthsBetween Calculate the number of whole months between two TDateTime 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.
```