2011-11-24 28 views
1

我使用了兩個dateTimePicker's,並且可以說我已經在第一個選擇了11-11-2011,最後選擇了17-11-2011。現在我想要了解這兩個日期之間的日期。我只想得到如下結果:使用DateTimePicker得到兩天之間的天數

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

我該怎麼做?

我試圖從詹姆斯希爾的問題中解決,但無法弄清楚。 謝謝,

回答

1

試試這個:

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項目:)

一可能的helper方法:

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

編輯已更改,以便包含邊界,我以前只提供中間的日期。

1

此代碼應太:

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;