2012-04-26 2 views
0

질문이 있습니다 ... 핵심 데이터에 날짜 속성이있는 엔티티가 있습니다. 사용자가 계속하거나 덮어 쓸 수 있도록 오늘 날짜가있는 레코드가 있으면 내 앱이 데이터 저장소를 확인할 수 있기를 원합니다.코어 데이터의 두 NSDate 비교하기

self.whereClause = [NSPredicate predicateWithFormat:@"(date = %@)", [NSDate date]]; 

나는 그들이

date: 2012-04-26 22:16:45 +0000 

를 표시 콘솔에 날짜를 인쇄 앱이 할 수없는 경우 : 문제는 난 그냥이 같은 자 NSPredicate를 사용하여 요청을 가져 오는거야 있다는 것입니다 기존 레코드가 있다는 것을 인식하고 .... 시간/시간대 구성 요소 때문에있을 수 있다고 생각합니다 .....

그렇다면 시간 구성 요소없이 핵심 데이터에서 검색 한 두 개의 NSDate 객체를 어떻게 비교할 수 있습니까?

답변

0

00:00 시간으로 날짜를 만들고 비교해야합니다. [NSDate date]는 항상 현재 시간을 포함하므로 날짜 만 일치시킬 수 없습니다.

정확하게 동일한 시간으로 날짜를 만들려면 NSDateComponents을보십시오.

또 다른 해결 방법은 (날짜> 2012-04-26 00:00:00 및 날짜 < 2012-04-26 23:59:59) 검색어를 생성하는 것입니다. end of day)

하나의 완전 일치 항목을 검색하려면 첫 번째 솔루션을 권합니다.

+0

궁금! 나는 NSDateComponents를 사용하여 시간을 5.00pm으로 설정했으며 날짜는 완벽하게 작동합니다. 이제 대단히 감사합니다! – rubenatorio