BloombergLP::bbldc::CalendarDayCountUtil::yearsDiff

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.

Synopsis

Declared in <bbldc_calendardaycountutil.h>

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