Как найти пятницу, следующую за данной датой в C#

В этом примере показано, как вы можете найти пятницу после определенной даты. Вы можете использовать аналогичный метод, чтобы найти другие дни недели, следующие за определенной датой. (Обратите внимание, что я обновил этот пример из своей первоначальной версии, чтобы использовать технику, рекомендованную Федором Буяковым в комментариях. Я оставил комментарий, чтобы дать ему полную оценку за отличное предложение.)

Когда вы вводите дату и нажимаете кнопку «Найти пятницу», выполняется следующий код.

// Найдите следующую пятницу.
private void btnFindFriday_Click(object sender, EventArgs e)
{
    // Получить указанную дату.
    DateTime the_date = DateTime.Parse(txtDate.Text);
    txtDateLong.Text = the_date.ToLongDateString();

    // Найдите следующую пятницу.
    // Получаем количество дней между
    // день недели и пятница.
    int num_days = System.DayOfWeek.Friday - the_date.DayOfWeek;
    if (num_days < 0) num_days += 7;

    // Добавьте необходимое количество дней.
    DateTime friday = the_date.AddDays(num_days);

    // Отображение результата.
    txtFriday.Text = friday.ToShortDateString();
    txtFridayLong.Text = friday.ToLongDateString();
}

Код начинается с разбора введенной даты и отображения этой даты в длинном формате. Затем он вычитает день недели для этой даты со дня недели в пятницу. Если результат меньше 0, то значение представляет количество дней до введенной даты, чтобы перейти к предыдущей пятнице. В этом случае код добавляет 7, чтобы получить количество дней до next в пятницу.

Источник: http://csharphelper.com/blog/2016/11/find-the-friday-following-a-given-date-in-c/

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector