C# 检查是否;“今天”;匹配间隔+;开始日期

C# 检查是否;“今天”;匹配间隔+;开始日期,c#,.net,C#,.net,我有3个输入: 当前日期-日期时间。今天 开始日期-比如说2021年3月3日(星期三) 间隔-假设7天 我想检查DateTime.Today是否与我的时间间隔相匹配,即: 2021年3月3日 其次是: 10.03.2021 其次是: 2021年3月17日(今天!) 下一步将是: 2021年3月24日 等等 只有在这种情况下-当(开始日期+(间隔*X))=今天时 还有比时间跨度减法更好的吗 var today = DateTime.Today; var

我有3个输入:

  • 当前日期-日期时间。今天
  • 开始日期-比如说2021年3月3日(星期三)
  • 间隔-假设7天
我想检查DateTime.Today是否与我的时间间隔相匹配,即:

  • 2021年3月3日
其次是:

  • 10.03.2021
其次是:

  • 2021年3月17日(今天!)
下一步将是:

  • 2021年3月24日
等等

只有在这种情况下-当(开始日期+(间隔*X))=今天

还有比时间跨度减法更好的吗

    var today = DateTime.Today;
    
    var startDay = DateTime.Parse("2021-03-03");
    
    var sendDaysInterval = 7; // each every 7 days
    
    TimeSpan span = today.Subtract(startDay);
    
    if (span.Days % sendDaysInterval == 0)
    {
        Console.WriteLine("OK");
    }
你可以这样做

StartDate =  StartDate.AddDays(Interval);

if(CurrentDate  == StartDate)

  return true;

else 

  return false;

Sonds很简单,前提是您知道如何处理时间部分。今天。添加天数(-7);“更好”怎么说?看起来你在寻找意见,而Stack Overflow做得并不好。因此,更像是一个“仅仅是事实”的地方。如果(today.DayOfWeek==startDay.DayOfWeek)…但它不会是静态的间隔,但在这种情况下是“每周”间隔-比如+7、然后+14、然后+21天等等。提示:只要你有
if(condition)返回true,否则返回false
就更简洁地执行
返回条件