我正在尝试将我的列表框从今天的日期填充到接下来的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);
答案 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()));