Sign in Join
FPDoc Onlineexperiment

MonthSpan function

In unit DateUtils

Calculate the approximate number of months between two TDateTime values.

Declaration

pascal
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).

See also

Example: ex64

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

An experiment, built from development snapshots. Not the official Free Pascal or Lazarus documentation.