Scribling Doodle Ответов: 1

Как я могу проверить, если сегодняшняя дата составляет 5 дней с даты окончания?


У меня есть таблица, которая включает в себя 3 даты. Дата регистрации, дата окончания и фактическая дата.
Что я хочу, так это просто показать мне текстовое поле, которое могло бы напомнить мне, что дата окончания происходит через 5 дней и в дату окончания. Например:

У меня есть "конечная дата", установленная на 4-5-17, а" фактическая дата " - 29-4-17. Что он должен сделать, так это то, что он покажет мне предупреждение, когда дата будет -5 дней от окончания, а затем, когда дата окончания будет равна сегодняшней дате, он покажет мне форму, которую я установил для редактирования даты.

Что я уже пробовал:

Попытался преобразовать дату в строку и вычесть -5 до конечной даты и messagebox me, когда дата приближается.

string actualdate;
string enddate;
enddate = dr.Cells["Até"].Value.ToString();
actualdate = DateTime.Now.ToString();
if (actualdate > enddate)
{
    MesageBox.Show("The end date of "dr.Cells["Name"].Value" subscription is ending!","Warning");
}

Prateek Dalbehera

Можете ли вы подробнее рассказать о том, чего вы хотите достичь? Кстати, вы можете использовать TimeSpan для расчета времени и записать в него свою логику.

Scribling Doodle

У меня есть 2 отдельные даты, сегодняшняя дата и дата окончания этой подписки. Что я хочу, так это просто напомнить мне за 5 дней до того, как дата окончания будет равна сегодняшней дате. Это немного сбивает с толку, да, но я надеюсь, что вы понимаете!

Prateek Dalbehera

хорошо, как часто работает ваше приложение? Я имею в виду, чтобы спросить, что, как часто метод DateComparison будет называться?? Вы хотите что - то вроде if (Endday-Today <= 5) then show alert??

Scribling Doodle

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

Scribling Doodle

И да, это что-то вроде этого, но конечная дата исходит из datagrid, если бы это было так, я бы сделал строку для endday и настроил ее как столбец datagrid?

Prateek Dalbehera

Не помогает ли вам приведенное ниже Решение?? Он вернет значение bool в соответствии с диапазоном дат. Или вам нужно что-то еще?

Prateek Dalbehera

Вы можете преобразовать дату в строковый формат, поступающий из datagrid, а затем сделать timespan или решение, приведенное ниже, для расчета. Думаю, ничего особенного. Для полного решения, пожалуйста, поделитесь некоторыми фрагментами вашего кода

Scribling Doodle

Я разберусь с этим через несколько минут ;) Заранее спасибо!!

Scribling Doodle

Я уже поместил фрагмент кода для вас, чтобы вы увидели, что я придумал.

1 Ответов

Рейтинг:
0

OriginalGriff

Цитата:
Попытался преобразовать дату в строку и вычесть -5 до конечной даты и messagebox me, когда дата приближается.

Не делай этого! Вместо этого сохраните его как значение DateTime:
private bool IsWithinDays(DateTime date, int numberOfDays)
    {
    return DateTime.Now.Date.AddDays(numberOfDays) >= date;
    }