2013-01-12 3 views
-1

현재 시간에 30 분을 더하고 싶습니다. 현재 시간에 30 분을 더하는 방법

나는이

NSDate *dateToFire = [[NSDate date] dateByAddingTimeInterval:5*60]; 

을 시도했지만 단지 = 10:30:00

제안은 항상 감사합니다 10시 0분 30초 ---> 30 같은 시간 이 필요합니다.

감사

+0

왜'dateByAddingTimeInterval이되지 않습니다'일? –

+0

1800 또는 60 * 5로 도약 할 수 없기 때문에 윤곽이 없습니다. 언제나 dateComponents를 따라 가십시오 ... 제가 게시 했으므로 이것은 Apple의 안전하고 검증 된 API입니다. –

답변

4

사용이 방법 :

NSCalendar *calendar=[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar]; 
NSDateComponents *components=[NSDateComponents new]; 
components.minute=30; 
NSDate *newDate=[calendar dateByAddingComponents: components toDate: [NSDate date] options: 0]; 
//To get date in `hour:minute` format. 
NSDateFormatter *dateFormatterHHMM=[NSDateFormatter new]; 
[dateFormatterHHMM setDateFormat:@"hh:mm"]; 
NSString *timeString=[dateFormatterHHMM stringFromDate:newDate]; 

NSLog(@"===> %@",timeString); 
+0

==> 2013-01-12 08:08:35 +0000 이것이 결과라고 생각합니다.하지만 시간이 필요합니다. 분만. 끈을 부러 뜨릴 필요가 있니? 어떻게? – iscavengers

+0

내 편집을 확인하십시오 ... –

+0

감사 Anoop ... 완료 – iscavengers

1

이 시도 ::

NSDate *dateToFire = [[NSDate date] dateByAddingTimeInterval:1800.0]; 

을 바라 건데, 그것은 당신을 도울 것입니다. 감사합니다. .

3

다음과 같이 추가하십시오 : 30 * 60. 코드에 5 분만 추가하면됩니다.

추가 할 시간은 밀리 초입니다.

그래서 당신이 시도해야합니다 이것은 현재 시간에서 30 분 추가합니다

NSDate *dateToFire = [[NSDate date] dateByAddingTimeInterval:30*60]; 

.

+0

실제로 로그보기 dateToFire 2013-01-12 08:06:25 +0000과 필요합니다. 08:06 – iscavengers

+0

Nsdateformatter를 사용해야합니다. – iCreative

관련 문제