el_tot93 Ответов: 3

Как добавить другой месяц к моей дате


у меня есть приложение для тренажерного зала, и у меня есть предложение на покупку, если вы покупаете 3 месяца сумма будет 200 $ (пример) то, что я ищу, это как напомнить пользователю до конца 3 месяцев у меня есть столбец в моей таблице с датой начала я хочу напомнить ему за 10 дней до даты окончания
и у меня есть заметка , что предложение мое будет меняться, как будто это будет 1 месяц, 5 месяцев или что-то еще ,,,,

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

DateTime nextMonth = date.AddDays(1).AddMonths(1).AddDays(-1);


но мне это не помогло
я хочу изменить AddMonths(1) с текстовым полем есть номер для меня это (предложение).

CHill60

Замените его значением текстового поля (или другого элемента управления). В чем проблема?

el_tot93

как это будет выглядеть плз

3 Ответов

Рейтинг:
1

Richard MacCutchan

Возьмите дату последнего продления и добавьте количество месяцев к следующему продлению (1, 3, 5 и т. д.). вычтите 10 из числа дней. Сравните это с сегодняшней датой, чтобы увидеть, следует ли отправлять напоминание.


el_tot93

да это я ищу но как я могу это сделать я новичок в этой идее я не делал ничего подобного раньше

Richard MacCutchan

Идти к Датавремя Структуры (Система) | Майкрософт Документы[^] где вы найдете примеры.

Рейтинг:
1

CHill60

Вместо текстового поля вы действительно должны использовать управления numericupdown [^] (Я предполагаю, что WinForms здесь, но есть эквиваленты в ASP.NET и WPF)

Но пока ... . (непроверенный)

int i;
DateTime nextMonth;
if(int.TryParse(txtBox.Text, out i) 
{
    nextMonth = date.AddDays(1).AddMonths(i).AddDays(-1);
}


el_tot93

я получаю свою ошибку в if(int.TryParse(txtBox.Text, i) красная линия под I

CHill60

Я же сказал, что это не проверено. Это было бы быстрее для вас, чтобы посмотреть документацию Типа int32.Метод TryParse (Система) | Microsoft Docs[^]
Я обновил свое решение, исправив опечатку, но если вы собираетесь понижать голосовые решения, не давая плакатам возможности ответить, вы не выиграете много друзей

Рейтинг:
0

el_tot93

я хочу заменить его значением текстового поля

CPallini

Связанная страница показывает вам как чтобы получить целочисленное значение, вам нужно только подключить такое значение к вызову addMonths.