MR.alaa Ответов: 2

Получить дату за n месяцев C#


привет каждому телу как получить даты следующего месяца в течение 10 месяцев или любого количества месяцев я пытаюсь это сделать но получаю только 6 месяцев

как правильно синтактика

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

var x = 10; // 10months
          for (int i = 0; i < x; i++)
          {
              DateTime sixmonthsfromnow = today.AddMonths(x);
              MessageBox.Show(sixmonthsfromnow.ToShortDateString());
              x--;
          }

Karthik_Mahalingam

каков ваш ожидаемый результат ?

2 Ответов

Рейтинг:
8

MR.alaa

спасибо за Джона Симмонса / преступника, который мне нужен


StringBuilder str = new StringBuilder();
          var x = 10; // 10 months total period
          var y = 1; // variable for increase month every one,two ... month
          for (int i = 0; i < x; i++)
          {
              DateTime sixmonthsfromnow = DateTime.Now.AddMonths(i + y);
              str.AppendLine(sixmonthsfromnow.ToString("yyyy/MM/dd"));
          }
          MessageBox.Show(str.ToString());


Richard MacCutchan

Зачем вы добавили еще одну переменную, если у вас уже есть i отсчет времени от 0 до 9? Если вы хотите, чтобы он считал от 1 до 10, то отрегулируйте свой for заявление.

Рейтинг:
15

#realJSOP

Почему вы меняете значение x внутри цикла for? Самое худшее, что вы можете сделать в цикле for, - это изменить значение итератора (i) или константы (x) внутри цикла.

Вы действительно хотите это сделать?

StringBuilder str = new StringBuilder();
var x = 10; // 10months
for (int i = 0; i < x; i++)
{
    DateTime sixmonthsfromnow = DateTime.Now.AddMonths(i+6);
    str.AppendLine(sixmonthsfromnow.ToString("yyyy MM dd"));
}
MessageBox.Show(str.ToString());


РЕДАКТИРОВАТЬ =============

Кто бы ни проголосовал за это 1-опубликуйте свое собственное решение, если вы думаете, что мое так плохо.


Karthik_Mahalingam

5, основанный на имя переменной- ваша логика совершенна.

MR.alaa

да это дает мне только 5 месячные свидания мне нужно десять месячных свиданий

Karthik_Mahalingam

если икс является 10 тогда каков ваш ожидаемый результат ?