C#DateTime数学-进入前几个月

本文关键字:几个月 数学 C#DateTime | 更新日期: 2023-09-27 18:25:44

今天,8月1日,也就是新月份的开始,我刚刚在代码中发现了一个DateTime数学错误。我在7天前将DateTime类成员设置为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));

将此成员设置为当前DateTime 7天前的正确方式是什么?

C#DateTime数学-进入前几个月

只需从DateTime.Now:中减去七天

DateFrom = DateTime.Now.Date.AddDays(-7);
DateFrom date = DateTime.Now.AddDays(-7);

您可以使用datetime对象的AddDays方法,该方法采用整数。因为它也会取负值,所以你可以很容易地回到时间上。

DateFrom = DateTime.Now.AddDays(-7);