0

今天,8 月 1 日,新的一个月的开始,我刚刚在我的代码中发现了一个 DateTime 数学错误。我将 DateTime 类成员设置为 7 天前的 DateTime 值。所以它在 8 月 1 日的值应该是 7 月 25 日

尝试从 1 中减去 7(DateTime.Now.Day-7)时,我清楚地看到了问题。

那么,如何创建一个无论月份中的哪一天始终有效的 DateTime 对象?

错误:

Year, Month, and Day parameters describe an un-representable DateTime.

这是代码:

DateFrom = (new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day-7));

将此成员设置为当前日期时间 7 天前的正确方法是什么?

4

3 回答 3

11

只需从 中减去 7 天DateTime.Now

DateFrom = DateTime.Now.Date.AddDays(-7);
于 2013-08-01T11:44:40.993 回答
2
DateFrom date = DateTime.Now.AddDays(-7);
于 2013-08-01T11:45:53.030 回答
1

您可以使用接受整数的日期时间对象的AddDays方法。因为它也采用负值,所以你可以很容易地回到过去。

DateFrom = DateTime.Now.AddDays(-7);
于 2013-08-01T11:49:04.523 回答