あなたはそれを持っているか、除外日に必要な期間をチェックしてみてください。 たとえば、7日前の今日から今日までの期間が必要です。 X(検索日)= Y(現在の日付) - Z(7日前の期間)。 次に、この期間を[12/10から19/10まで]毎日チェックしてみます。結果では、2日を見つけて、これをY日から減らします。 LINQのために
私たちは、この関数を記述することができます。
private DateTime GetBeforeDateExcludeWeekends(DateTime FromDate, int Period)
{
DateTime tillBeforeDate = FromDate.Subtract(TimeSpan.FromDays(Period));
var weekendDayCnt =
Enumerable.Range(0, (FromDate - tillBeforeDate).Days + 1).Select(d => tillBeforeDate.AddDays(d))
.Where(day => day.DayOfWeek == DayOfWeek.Saturday || day.DayOfWeek == DayOfWeek.Sunday)
.Count();
return FromDate.Subtract(TimeSpan.FromDays(Period + weekendDayCnt));
}
私の悪い英語のため申し訳ありません。 =)
これはコードサービスプロバイダのサイトではありません。あなたが疲れているものを表示してください。 – MethodMan
「DateTime.AddDays」メソッドと「DateTime.DayOfWeek」プロパティを確認してください。これとループを使うと、望ましい結果を生み出すことができます。 – juharr