:負の数を取り、その営業日を差し引くために特別に別のものを必要とすることはできません営業日を差し引くには?あなたは営業日を追加するためにこれに基づいてC#で営業日引くにはどうすればよい
public static DateTime AddBusinessDays(DateTime date, int days = 5)
{
if (days < 0)
{
throw new ArgumentException("days cannot be negative", "days");
}
if (days == 0) return date;
if (date.DayOfWeek == DayOfWeek.Saturday)
{
date = date.AddDays(2);
days -= 1;
}
else if (date.DayOfWeek == DayOfWeek.Sunday)
{
date = date.AddDays(1);
days -= 1;
}
date = date.AddDays(days/5 * 7);
int extraDays = days % 5;
if ((int)date.DayOfWeek + extraDays > 5)
{
extraDays += 2;
}
return date.AddDays(extraDays);
}
。
編集:「複製」の質問は、2つの日付の差を営業日とともに測定していることです。私はちょうど開始日と、結果を思い付くために減算する日数が欲しい。 これは、上記のAddDaysのように、拡張機能ではなく、関数として行う必要があります。
上記のようにループのない方法が最も効率的です。
[2つの日付間の営業日数を計算しますか?](http://stackoverflow.com/questions/1617049/calculate-the-number-of-business-days-between-two-dates ) –
@DarkBobGそれは私が探しているものではありません。 –