如何在下拉列表中获取整个月的日期? C#

时间:2019-06-19 03:17:34

标签: c# asp.net

我需要将日期设置为下拉格式。

我创建了可以显示3天的内容,但是我想为其创建一个循环,我不确定如何执行。

ListItem li = new ListItem(DateTime.Now.ToString("MMM/dd"), DateTime.Now.ToString("MMM/dd"));
            DropDownList1.Items.Add(li);
            DropDownList2.Items.Add(li);
            ListItem li2 = new ListItem(DateTime.Now.AddDays(-1).ToString("MMM/dd"), DateTime.Now.AddDays(-1).ToString("MMM/dd"));
            DropDownList1.Items.Add(li2);
            DropDownList2.Items.Add(li2);
            ListItem li3 = new ListItem(DateTime.Now.AddDays(-2).ToString("MMM/dd"), DateTime.Now.AddDays(-2).ToString("MMM/dd"));
            DropDownList1.Items.Add(li3);
            DropDownList2.Items.Add(li3);

我希望下拉菜单中包含从当前日期起整月的日期。

2 个答案:

答案 0 :(得分:2)


var dtmCurrent = DateTime.Today;
var dtmLimit = dtmCurrent.AddMonths(-1);
while(dtmCurrent >= dtmLimit)
{
    ListItem li = new ListItem(dtm.ToString("MMM/dd"), dtm.ToString("MMM/dd"));
    DropDownList1.Items.Add(li);
    DropDownList2.Items.Add(li);
    dtmCurrent = dtmCurrent.AddDays(-1);
}

答案 1 :(得分:0)

这应该对您有用:

var startDate = DateTime.Now.Date;
var numberOfDays = startDate.Subtract(startDate.AddMonths(-1)).Days;

for(int i = 0; i <= numberOfDays; i++)
{
    ListItem li = new ListItem(DateTime.Now.AddDays(-1*i).ToString("MMM/dd"), DateTime.Now.AddDays(-1*i).ToString("MMM/dd"));
    DropDownList1.Items.Add(li);
    DropDownList2.Items.Add(li);
}