Добавить к дате несколько рабочих дней - C#

Узнай цену своей работы

Формулировка задачи:

простое добавление дней понятно. но как добавить только рабочие дни? понятно, что с праздниками всё сложно... пусть тогда вычеркнуты будут только суббота и воскресение. как это сделать?

Решение задачи: «Добавить к дате несколько рабочих дней»

textual
Листинг программы
static DateTime AddWorkDays(DateTime date, int n) {
    int daysBeforeWeekEnd = 5 - (int)date.DayOfWeek;
    if (n <= daysBeforeWeekEnd)
        return date.AddDays(n);
    int fullWorkWeeks = n / 5;
    int daysAfterWeekEnd = n - daysBeforeWeekEnd - fullWorkWeeks * 5;
    return date.AddDays(daysBeforeWeekEnd + fullWorkWeeks * 7 + daysAfterWeekEnd + (daysAfterWeekEnd == 0 ? 0 : 2));
}

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

13   голосов , оценка 4.385 из 5
Похожие ответы