2013-01-12 73 views
-1

我想將30分鐘添加到當前時間。如何將30分鐘添加到當前時間

我想這

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

只是需要時間 像10:00:30 ---> +30 = 10:30:00

建議總是讚賞。

感謝

+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分鐘。

您添加的時間以毫秒爲單位。

所以你要試試這個:

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

這將在當前時間增加30分鐘。

+0

實際上日誌顯示dateToFire 2013-01-12 08:06:25 +0000和我只需要08:06 – iscavengers

+0

您需要使用Nsdateformatter。 – iCreative

相關問題