int monthCount = GetMonthCount(comp.PaymentFrequency);
int day = comp.MaturityDate.GetValueOrDefault(DateTime.Today).Day;
DateTime countFrom = comp.EffectiveDate.GetValueOrDefault(DateTime.Today);
return new DateTime(countFrom.Year, countFrom.Month, day).AddMonths(monthCount);
年,月和日参数描述了无法代表的日期时间?为什么呢?
答案 0 :(得分:5)
如果MaturityDate为1/31/2011
且EffectiveDate为2/28/2011
,则您的代码会尝试创建一个不存在的日期。
答案 1 :(得分:0)
也许这种方法会有所帮助:
如果您希望获取指定日期后一个月的日期,请使用AddMonths
:
DateTime startDate = DateTime.Parse("1/31/2011");
DateTime endDate = startDate.AddMonths(1);
此处endDate = 2/28/2011.