我刚刚在今天的代码中发现了一个DateTime数学错误,8月1日,即新月的开始。 我将DateTime类成员设置为7天前的DateTime值。因此它应该在8月1日的价值将是7月25日
我在尝试从1(DateTime.Now.Day-7)中减去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天前从当前DateTime开始的正确方法是什么?
答案 0 :(得分:11)
从DateTime.Now
:
DateFrom = DateTime.Now.Date.AddDays(-7);
答案 1 :(得分:2)
DateFrom date = DateTime.Now.AddDays(-7);
答案 2 :(得分:1)
您可以使用带整数的datetime对象的AddDays方法。因为它也是负值,所以你可以很容易地回到过去。
DateFrom = DateTime.Now.AddDays(-7);