使用当前日期的下30个日期填充列表框

时间:2018-02-20 09:43:04

标签: c# visual-studio-2015

我正在尝试将我的列表框从今天的日期填充到接下来的30天。我当前的代码填充了当前月份的文本框。我如何只获得今天的价值直到接下来的30天。

int year = 2018;
int month = 2;

DateTime date = new DateTime(year, month, 1);
//DateTime Today = DateTime.Today;
//DateTime expiryDate = Today.AddDays(30);
do
{

    date = date.AddDays(1);
    var dateonly = date.ToShortDateString();
    listBox1.Items.Add(dateonly);
}
while (date.Month == month);

2 个答案:

答案 0 :(得分:1)

所以你知道这个限制(这里是30天)。那么为什么不是这样的,通过使用计数器?

DateTime currentDate = DateTime.Now;
for (int dayCount = 1; dayCount <= 30; dayCount++)
{
   var date = currentDate.AddDays(dayCount);
    var dateonly = date.ToShortDateString();
    listBox1.Items.Add(dateonly);
}

如果您想在列表中包含当前日期,for循环应为for (int dayCount = 0; dayCount < 30; dayCount++)

答案 1 :(得分:0)

您可以使用Enumerable.Range:

    DateTime date = new DateTime(year, month, 1);
    Enumerable.Range(0, 30).ToList().ForEach(day => listBox1.Items.Add(date.AddDays(day).ToShortDateString()));