On Mon, 22 Aug 2005 11:26:12 +0200, Guido Spahn wrote
Hello,
when adding a negative number of months to a date(y, m, d), an exception "Month number is out of range 1..12" is raised if the resulting month m2 belongs to a year y2 < y and m2 > m. For example
date(2005, Jan, 1) + months(-1) fails date(2005, Feb, 1) + months(-1) doesn't fail date(2005, Feb, 1) + months(-2) fails date(2005, Feb, 1) + months(-12) doesn't fail date(2005, Feb, 1) + months(-13) doesn't fail date(2005, Feb, 1) + months(-14) fails
I checked it only with release 1.33 using the appended code. There is no problem adding or substracting any positive number of months.
This is fixed in CVS now. You can fix your 1.33 distribution by downloading wrapping_int.hpp version 1.7 from http://cvs.sourceforge.net/viewcvs.py/boost/boost/boost/date_time/wrapping_int.hpp?rev=1.6&view=log (might take a little while to catch up). Thx for the report. Jeff