2011-10-06 11 views
0

여기에 그런 임무가 있습니다.Nsdate 함수 : 목표 사이

함수를 작성 하시겠습니까? 시간, 시작, 끝 시간 : "hh : mm"형식의 시간.

예 : "23:15". "Time"이 'Start'와 'End'사이에 있으면 함수는 TRUE를 반환해야합니다. 사례 끝 < 시작 (예 : "23:11" "8:05")은 다음 날짜로 간주됩니다. '시작'에서 '끝'.

그래서

NSAutoreleasePool * pool = [­[NSAutoreleasePool alloc] init]; 

NSDateFormatter* dateFormatter = [­[[NSDateFormatter alloc] init] autorelease]; 
dateFormatter.dateFormat = @"HH:mm"; 
NSDate * time = [dateFormatter dateFromString:@"24:00"]; 
NSDate * start = [dateFormatter dateFromString:@"23:50"]; 
NSDate * end = [dateFormatter dateFromString:@"03:00"]; 

if(start<time) 
{ 
if (end>time) 
{ 
NSLog(@"YES"); 
} 
} 

했을하지만 어떻게 다음날을 테스트하기 위해 배경 조사를합니까? 예의 경우 은 어떤 아이디어가 있습니까?

+0

힌트 : 날짜 포맷터의 표준 시간대를 GMT로 설정하십시오. 그렇지 않으면 미칠 수 있습니다. –

+0

형식으로 작동하지 않습니다. HH : mm? –

답변

0

내가 할 수있는 일은 end < start 일 경우 확인하고이 경우 end에 +24 시간을 추가하는 것입니다. 그런 다음 time > start && time < end이 문제를 해결하는지 확인하십시오.