2014-06-21 4 views
1

NSMutableArray가 있는데 매주 또는 월 또는 연도와 같이 시간 간격이있는 행만 가져올 수 있기를 원합니다. 나는 일주일 전의 일을 되 찾을 수 있기 때문에 현재 날짜와 일을 일주일 전으로 되돌릴 수있다. 그러나 그 모든 일을 붙잡아서 배열에 추가 할 수 있어야 나는 그들을 검색 할 수있다.일주일/월/일의 모든 요일을 찾고 NSMutableArray에 추가

이것은 내가 하루와 하루를 다시 잡는 방법입니다.

어떻게 두 날짜 사이의 모든 요일을 찾아서 배열로로드 할 수 있습니까?

답변

2

가는 중입니다. 핵심은 구성 요소의 요일을 반복하여 진행하고 해당 요일에서 날짜를 추출하는 것입니다. 이 날짜 첫 데이트의 포함, 마지막 날짜의 독점의 모음을 초래할 것

NSMutableArray *result = [NSMutableArray array]; 
NSCalendar *cal = [NSCalendar currentCalendar]; 

NSDate *startDate = // your input start date 
NSDate *endDate = // your input end date 

NSDateComponents *comps = [cal components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit)fromDate:startDate]; 
NSDate *date = [cal dateFromComponents:comps]; 

while (![date isEqualToDate:endDate]) { 
    [result addObject:date]; 
    [comps setDay:(comps.day + 1)]; 
    date = [cal dateFromComponents:comps]; 
} 

참고. 아마도 가장자리 조건을 변경하는 방법에 대해 스스로 해결할 수 있습니다.

+0

감사합니다. 매력적이었습니다. – inVINCEable