我将在本月和接下来的两个月的第一天添加到我的下拉列表中,问题是,当我在11月对此进行测试时,它就是这样:
2014年11月1日 2014年12月1日 2014年1月1日
如你所见,01/01/2014是错误的,它需要是01/01/2015,我不知道如何开始这个,任何建议都表示赞赏。谢谢。
这是我的代码:
for (int i = 0; i < 3; i++)
{
DateTime dt = DateTime.Now;
DateTime dayone = new DateTime(dt.AddMonths(1).Year, dt.AddMonths(+i).Month, 1);
DropDownList3.Items.Add(dayone.ToString("MM/dd/yyyy"));
}
答案 0 :(得分:2)
简短的回答是dt.AddMonths(1)。永远是下个月的年份。因此,下个月是11月,现在仍然是2014年,你将在每个循环中都有这个。
这可能更好地重构为:
DateTime dt = new DateTime(DateTime.Now.Year, DateTime.Now.Month, 1);
for (int i = 0; i < 3; i++)
{
DropDownList3.Items.Add(dt.AddMonths(i).ToString("MM/dd/yyyy"));
}