Return the (signed fractional) number of years between two dates.

Synopsis

Declared in <bbldc_calendardaycountutil.h>

static
double
yearsDiff(
    bdlt::Date const& beginDate,
    bdlt::Date const& endDate,
    bdlt::Calendar const& calendar,
    DayCountConvention::Enum convention);

Description

Return the (signed fractional) number of years between the specified beginDate and endDate according to the specified day‐count convention with the specified calendar providing the definition of business days. If beginDate <= endDate then the result is non‐negative. The behavior is undefined unless isSupported(convention), calendar.isInRange(beginDate), and calendar.isInRange(endDate). Note that reversing the order of beginDate and endDate negates the result; specifically, |yearsDiff(b, e, cal, c) + yearsDiff(e, b, cal, c)| <= 1.0e‐15 for all calendars cal, valid dates b and e, and day‐count conventions c.

Return Value

signed fractional year difference according to convention

Parameters

Name

Description

beginDate

start of the date range

endDate

end of the date range

calendar

calendar defining business days

convention

day‐count convention to apply

Created with MrDocs