代码之家  ›  专栏  ›  技术社区  ›  D.Trump123

用当前日期之后的30个日期填充列表框

  •  0
  • D.Trump123  · 技术社区  · 7 年前

    我正在尝试从今天开始填充我的列表框,直到接下来的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 回复  |  直到 7 年前
        1
  •  1
  •   sujith karivelil    7 年前

    因此,您知道限制(此处为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++) 如果要在列表中包括当前日期

        2
  •  0
  •   fdafadf    7 年前

    可以使用枚举。范围:

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