C#寻找下一个活跃的一周

时间:2011-09-28 19:30:55

标签: c# datetime scheduling

我有一个C#类我正在处理代表一个配置文件,其中包含一些调度信息,表明白天有多少更新,以及每周每天更新布尔值的天数。我在这里和其他网站上看过一些帖子,以查找给定工作日的下一个实例,等等,但不是某个人正在寻找的日子可能会有所不同。

例如,我可能会在周一,周三和周四给出一个对象为真。找到下一个真实日期的下一个实例的最佳方法是什么?

我可以想出一些漫长而漫长的方法来找到本周的下一个“真实”日子,但是有一些更清洁的东西是我不熟悉的那样可以解决这个问题吗?我不想使用任何第三方库,因为这需要信息保证人员的大量特别批准。

1 个答案:

答案 0 :(得分:9)

鉴于它几乎不需要花费很长时间来循环,这将是最简单的方法:

DateTime nextDay = currentDay.AddDays(1);
while (!profile.IsActive(nextDay.DayOfWeek))
{
    nextDay = nextDay.AddDays(1);
}

(假设您已经验证了该配置文件至少在一天内处于活动状态...否则它将永远循环。)