2014-06-18 4 views
-1

오늘받을 수 있습니다.DateTimeDateTimePicker 컨트롤입니다. 지금은다음으로 DateTimePicker 컨트롤의 날짜 찾기

2014/7/3. 내가 다음 숯불 월 번호를 찾을 수 31 또는 30 일까지 하루를 증가 날짜의 문자열을 분해하는 전통적인 방법을 알고 때까지 같은 2014/6/25 등이 특정 날짜 사이의 모든 날짜를 갖고 싶어 .

더 쉬운 방법이 있습니까?

+3

** 1) ** 취득이 날짜를 'startDate'와'endDate'로 지정합니다. ** 2) ** for 루프는'endDate'까지'startDate'를 시작하고'.AddDays (1)'로'startDate'를 증가시킵니다. –

답변

2
var dates = new List<DateTime>(); 

var startDate = new DateTime(2014, 6, 25); 
var endDate = new DateTime(2014,7,3); 
while(startDate <= endDate) 
{ 
    dates.Add(startDate); 
    startDate = startDate.AddDays(1); 
} 

LINQ 방법 :

var startDate = new DateTime(2014, 6, 25); 
var endDate = new DateTime(2014,7,3); 
var difference = (endDate - startDate).Days; 
var dates = Enumerable.Range(0, difference+1) 
     .Select(d => startDate.AddDays(d)) 
     .ToList(); 
0

아마 for 루프?

List<DateTime> myDates = new List<DateTime>(); 

DateTime startDate = new DateTime (2014, 6, 25); 
DateTime endDate = new DateTime (2014,7,3); 

for (DateTime date = startDate; date <= endDate; date = date.AddDays(1)) 
{ 
    myDates.Add(date); 
} 
0

당신은이 같은 루프를 사용할 수 있습니다 AddDays와

for(int i = 0; i <= endDate.Subtract(startDate).Days; i++) 
{ 
    DateTime temp = startDate.AddDays(i); 
} 

당신은 오버 플로우에 대한 관리를 수행 할 필요가 없습니다 :

2014-2-28 -> AddDays(1) -> 2014-3-1 
2012-2-18 -> AddDays(1) -> 2012-2-29 
관련 문제