【发布时间】:2020-08-25 10:57:02
【问题描述】:
我已成功记录了指向此代码的错误
DateTime retDate = enddate;
if (enddate.Day > 1)
{
retDate = enddate.AddDays(1 - enddate.Day).AddMonths(1);
}
System.ArgumentOutOfRangeException:增加或减少的值 导致无法表示的日期时间。参数名称:月
在 System.DateTime.AddMonths(Int32 个月)
这是在数据库中记录的,但我无法再重现该问题。我尝试使用每个日期,包括一个新的 DateTime(),但如果检查将其踢出。 逻辑按预期工作,但我只是想为那个边缘情况找到并创建一个句柄。
【问题讨论】:
-
代码或数据库是否使用像
DateTime.MaxValue这样的“神奇”值而不是null或缺少日期?那可不是个好主意。 SQL 的 NULL不与编程语言中的 NULL 相同。它有一个非常具体的含义 - 该字段没有有效值。 -
我知道这可能是个问题