Eu estou tentando preencher o nome do mês anteriorincluindo o mês atual. Ou seja, de março de 2018 até fevereiro de 2017. Eu usei a função addmonth para retornar o nome do mês, mas em algum lugar eu estou enfrentando duro para aplicar a minha lógica aqui.
private void loadmonthlst()
{
DropDownMonth.Items.Clear();
int currentmonth = DateTime.Now.AddHours(13).Month;
for (int month = currentmonth-1; month >= -12; month--)
{
string monthName = DateTime.Now.AddMonths(month).ToString("MMMM yyyy");
DropDownMonth.Items.Add(new ListItem(monthName));
}
}
Esta lista suspensa começa em maio de 2018. Eu sub-traduzi -2 do mês, mas eu quero a maneira mais limpa de fazer isso
Respostas:
2 para resposta № 1Você não deveria estar começando com o seu currentmonth porque month
será positivo no começo e isso vai adicionar meses, não voltar (como você quer), aqui está como consertar isso:
for (int month = 0; month >= -12; month--)
{
string monthName = DateTime.Now.AddMonths(month).ToString("MMMM yyyy");
Console.WriteLine(monthName);
}
Isso dá a partir de Marte 2018 a março de 2017, se você quiser parar em fevereiro de 2017, em seguida, basta substituir month >= -12
com month >= -13
.