我正在尝试填充前几个月的名称,包括当月。即从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,但我想要最干净的方法来完成这项工作
答案 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
。