用当前日期的下 30 个日期填充列表框
Populate listbox with the next 30 dates from current date
我正在尝试从今天到接下来的 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);
所以你知道这个限制(这里是 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++)
您可以使用 Enumerable.Range:
DateTime date = new DateTime(year, month, 1);
Enumerable.Range(0, 30).ToList().ForEach(day => listBox1.Items.Add(date.AddDays(day).ToShortDateString()));
我正在尝试从今天到接下来的 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);
所以你知道这个限制(这里是 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++)
您可以使用 Enumerable.Range:
DateTime date = new DateTime(year, month, 1);
Enumerable.Range(0, 30).ToList().ForEach(day => listBox1.Items.Add(date.AddDays(day).ToShortDateString()));