C# 从日期时间返回时出错

C# 从日期时间返回时出错,c#,.net,datetime,C#,.net,Datetime,年、月和日参数描述不可表示的日期时间?为什么?如果到期日是1/31/2011而生效日期是2/28/2011,您的代码将尝试创建一个不存在的日期。如果到期日是1/31/2011而生效日期是2/28/2011,您的代码将尝试创建一个不存在的日期。这种方法可能有助于: 如果希望获取指定日期后一个月的日期,请使用AddMonths: int monthCount = GetMonthCount(comp.PaymentFrequency); int day = comp.MaturityDate.Get

年、月和日参数描述不可表示的日期时间?为什么?

如果到期日是
1/31/2011
而生效日期是
2/28/2011
,您的代码将尝试创建一个不存在的日期。

如果到期日是
1/31/2011
而生效日期是
2/28/2011
,您的代码将尝试创建一个不存在的日期。

这种方法可能有助于:

如果希望获取指定日期后一个月的日期,请使用
AddMonths

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

这里,
endDate=2/28/2011。

也许这种方法会有帮助:

如果希望获取指定日期后一个月的日期,请使用
AddMonths

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

这里,
endDate=2/28/2011。

返回的错误是什么?代码下面的文本就是错误。您可以将
x.GetValueOrDefault(y)
替换为
(x??y)
。传递给
DateTime
的值是什么?返回的错误是什么?代码下面的文本就是错误。您可以用
(x??y)
替换
x.getValuerDefault(y)
。传递给
DateTime
的值是什么?DateTime总是让二月很有趣;)二月总是有约会时间的乐趣;)