public static System.DateTime AddMonths(System.DateTime time,
int months)
{
int rd = CCFixed.FromDateTime(time);
int day, month, year;
dmy_from_fixed(out day, out month, out year, rd);
month += months;
year += CCMath.div_mod(out month, month, 12);
int maxday = GetDaysInMonth (year, month);
if (day > maxday)
day = maxday;
rd = fixed_from_dmy(day, month, year);
System.DateTime t = CCFixed.ToDateTime(rd);
return t.Add(time.TimeOfDay);
}