2013-07-09 2 views
1

내 앱에서 테이블보기로 월 목록을 보여줍니다. 매달마다 일정 기간 동안 이벤트가 거의 없습니다. 그래서 내 질문은 내 배열의 날짜를 달의 날짜와 비교하여 각각의 달에만 이벤트를 표시하는 방법입니다.한 달의 배열과 비교 한 달

+1

무엇을 시도 했습니까 ?? 몇 가지 샘플 코드를 보여주십시오. –

답변

0

당신은 그것에 대해 NSDateComponents를 사용할 수 있습니다

NSCalendar* calendar = [NSCalendar currentCalendar]; 
NSDateComponents* components = 
     [calendar components:NSYearCalendarUnit|NSMonthCalendarUnit|NSDayCalendarUnit fromDate:yourDate]; 

[components month];// gives you month 

는 예를 들어 배열 인덱스 또는 당신이 선호하는 또 다른 방법으로 이번 달에 비교.

+0

년을 비교하는 것도 잊지 마라. 그렇지 않으면 jan '12와 jan '11의 이벤트가 보일 것이다. –

0

아마도 귀하는 날짜의 년과 월 구성 요소를 비교하기 만하면됩니다. 이것을 구현하는 데는 여러 가지 방법이 있습니다. 이것은 내가 시도했을 것입니다. yyyy-MM 형식의 테이블 뷰에서 날짜를 변환하고 이벤트 날짜를 같은 형식으로 변환하십시오.

NSDateFormatter *dateFormatter1 = [[NSDateFormatter alloc] init]; 
[dateFormatter1 setDateFormat:@"yyyy-MM"]; 
dateFormatter1.timeZone = [NSTimeZone timeZoneWithAbbreviation:@"GMT"]; 
NSDate *monthDate=[NSDate date]; 
NSString *strMonthDate=[dateFormatter1 stringFromDate:monthDate]; 
NSLog(@"%@",strMonthDate); 

정상적인 NSString 비교 방법을 사용하여이 monthDate 문자열을 eventDate 문자열과 비교하십시오.

+0

이것은 배열의 날짜 형식입니다 2013-07-23 00:00:00 +0000 –

+0

위의 코드를 사용하여 monthDate를 배열에있는 자신의 날짜로 바꿉니다 (NSDate의 인스턴스를 확인하십시오.) o/p를 가져옵니다. 문자열로 2013-07. – Mahesh

관련 문제