填写asp.net c下拉列表中的前几个月名称

时间:2018-03-02 10:57:13

标签: c#

我正在尝试填充前几个月的名称,包括当月。即从2018年3月到2017年2月。我使用addmonth函数返回月份名称,但在某处我很难在这里应用我的逻辑。

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));
    }
}

此下拉菜单从2018年5月开始。我从月份减去-2,但我想要最干净的方法来完成这项工作

1 个答案:

答案 0 :(得分:2)

你不应该从你的当前月开始,因为month在开始时会是积极的,而且会增加几个月,而不是回去(就像你想要的),这是如何解决它:

for (int month = 0; month >= -12; month--)
{
    string monthName = DateTime.Now.AddMonths(month).ToString("MMMM yyyy");
    Console.WriteLine(monthName);
}

这从火星2018年到2017年火星,如果你想在2017年2月停止,那么只需用month >= -12替换month >= -13