Function std.datetime.date.Date.diffMonths
Returns the difference between the two Date
s in months.
To get the difference in years, subtract the year property
of two Date
s. To get the difference in days or weeks,
subtract the Date
s themselves and use the
Duration
that results. Because converting between
months and smaller units requires a specific date (which
Duration
s don't have), getting the difference in
months requires some math using both the year and month properties, so
this is a convenience function for getting the difference in months.
Note that the number of days in the months or how far into the month
either Date
is is irrelevant. It is the difference in the month
property combined with the difference in years * 12. So, for instance,
December 31st and January 1st are one month apart just as December 1st
and January 31st are one month apart.
Parameters
Name | Description |
---|---|
rhs | The Date to subtract from this one. |
Example
writeln(Date(1999, 2, 1) .diffMonths(Date(1999, 1, 31))); // 1
writeln(Date(1999, 1, 31) .diffMonths(Date(1999, 2, 1))); // -1
writeln(Date(1999, 3, 1) .diffMonths(Date(1999, 1, 1))); // 2
writeln(Date(1999, 1, 1) .diffMonths(Date(1999, 3, 31))); // -2