我有一个带有两个DateTime
参数的函数,我必须为这些日期添加单独的偏移量。我知道它DateTime
具有将日期添加到日期的功能,如果小于或大于AddDays
,它会引发异常。DateTime
MinValue
MaxValue
现在我想做一个安全的检查,是否在 a 中添加/减去以下天数是否DateTime
会导致流量过多/不足。
safeStartDate = (startDate == DateTime.MinValue || startDate == DateTime.MaxValue) ? startDate : startDate.AddDays(startDateOffset);
safeEndDate = (endDate == DateTime.MaxValue || endDate == DateTime.MinValue) ? endDate : endDate.AddDays(enDateOffset);
通过这样做,我将其设为免费的一级异常,但日期可以是DateTime.Max - 1
并且在尝试添加偏移量时会引发异常。我正在寻找一种更好的方法,即最终值是否超过/低于流动而不进行实际计算,以防止异常。