使用DateTimePicker获取两个选定日期之间的天数

本文关键字:日期 之间 两个 获取 DateTimePicker 使用 | 更新日期: 2023-09-27 18:15:31

我使用了两个dateTimePicker,假设我第一个选择了11-11-2011,最后一个选择了17-11-2011。现在我想知道这两个日期之间的日期。我只想得到这样的结果:

11-11-2011 
12-11-2011 
13-11-2011 
14-11-2011 
15-11-2011 
16-11-2011 
17-11-2011 

我该怎么做呢?

我试着从詹姆斯·希尔的问题中找出答案,但是没能弄明白。谢谢你,

使用DateTimePicker获取两个选定日期之间的天数

试一试:

DateTime start = DateTime.Today;
DateTime end = DateTime.Today.AddDays(7);
for (DateTime current = start; current <= end; current = current.AddDays(1))
{
    Console.WriteLine(current);
}

我喜欢使用for循环来处理这类东西,因为我在现代。net项目中经常错过它们:)

一个可能的辅助方法:

static IEnumerable<DateTime> GetRange(DateTime start, DateTime end)
{
    for (DateTime current = start; current <= end; current = current.AddDays(1))
    {
        yield return current;
    }
}

重要如果您也有时间部分,则必须将条件更改为current.Date <= end.Date

编辑更改了边界,我以前只提供了两者之间的日期。

这段代码应该也能正常工作:

var timeSpan = (last.Value - first.Value);
var result = new List<DateTime>()
for (int i = 0; i < timeSpan.Days; i++)
{
    a.Add (first.AddDays (i));
}
return result;