从DateTime返回时出错

时间:2011-02-01 15:52:49

标签: c# .net datetime

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);

年,月和日参数描述了无法代表的日期时间?为什么呢?

2 个答案:

答案 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.