2014-06-09 1 views
0

일부 구간에 포함되어 있습니다 (예를 들어, 지금있는 NSDate)이있는 NSDate 일부 구간에 포함되어 있는지 확인하는 지금은 것 ​​있는 NSDate는 좀 이와 같은 데이터가

Monday: from 8.00am to 13.pm; 14:00 pm to 20.00pm 
Tuesdays: from 8.00am to 10 am; 13.00 pm to 17.00 pm; from 17.00 pm to 23.00 pm; 
..... 

을 ... 뭔가 이것에 대한 있는가 케이스?

+1

시작일과 종료일을 저장 한 다음 "테스트"날짜를 각각 비교하십시오. 그게 뭐가 그렇게 어려운거야? – trojanfoe

+0

효율성 .. 예 .. – Safari

+0

어떻게 그렇게? 이러한 범위를 정의해야 시작/끝을 저장해야하므로 각 범위를 비교해야합니다. 그것이 그것이 할 수있는 유일한 방법이라고 생각합니다. – trojanfoe

답변

0

있는 NSDate가있는 NSDate 비교가 매우 빠르다 소수점 값 (년 1 월 1 일 이후 경과 한 시간 (초), 2001 년)

부동 배정 밀도에 매우 얇은 래퍼입니다. 다음, 당신은 한 번 시작 및 종료 시간 간격을 얻을 것, 분명히

NSTimeInterval startInterval = [startDate timeIntervalSinceReferenceDate]; 
NSTimeInterval endInterval = [endDate timeIntervalSinceReferenceDate]; 

NSTimeInterval someDateInterval = [someDate timeIntervalSinceReferenceDate]; 

if (someDateInterval >= startInterval && someDateInterval <= endInterval) 
    //the date someDate is between startDate and endDate. 

:

당신이 (두 배) NSTimeInterval 값으로 날짜를 변환, 정말 그것에 대해 걱정하는 경우

한 다음 숫자 비교를 할 그것들을 사용하여 각 후보 날짜를 비교하십시오.

관련 문제