명심있는 NSDate 어떤 형태로든 "일"을 나타내지는 않습니다. NSCalendar (일반적으로 사용자의 기본 달력)를 사용하여 변환 된 NSDateComponents로 약간의 작업을 수행하여 시작 및 끝 NSDate 값을 계산하고이를 사용하여 시간 간격을 비교합니다.
하루 종일 NSDate를 가져 와서 NSDateComponents로 변환하지만 시간, 분 또는 초가 없어도됩니다. 여기에 당신이 시작하는 데 도움이 빠른 (안된) 예제 : 씨 Jalkut에 의해 제안
NSDateComponents *comps = [[NSCalendar currentCalendar] components:(NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit) fromDate:[NSDate date]];
NSDateComponents *day = [[[NSDateComponents alloc] init] autorelease];
[day setDay:1];
NSDate *start = [[NSCalendar currentCalendar] dateFromComponents:comps];
NSDate *end = [[NSCalendar currentCalendar] dateByAddingComponents:day toDate:start options:0];
가 그런 다음 시간 간격을 비교할 수 있습니다 (또는 다른 방법,있는 NSDate는 몇 가지 다른 방법으로 NSTimeIntervals 작업 할 수 있습니다). 나는 분명히 NSCalendar와 NSDateComponents를 워드 프로세서에서 살펴 보는 데 약간의 시간을 할애 할 것이다. 내가해야 할 일에 대해 제안하고있는 것보다 나은 방법을 찾을 수있다.
피터의 요점이 유효 해 보입니다. 사람들이 동의한다면 NSCalendar를 사용하여이 종류의 날짜 비교를 수행하는 것이 더 바람직하다는 데 동의한다면 답변을 철회 할 것입니다. – danielpunkass
헤이 피터, 귀하의 게시물은 매우 유용합니다. 지혜를 공유해 주셔서 다시 한 번 감사드립니다. Daniel, 귀하의 게시물은 다른 민감한 문제와 관련하여 도움이되었습니다. 감사합니다. Peter의 직책은 직접적으로 주제를 다룹니다. 고마워요. –