如何在iPhone中向NSDate对象添加1分钟的时间间隔

时间:2013-02-11 12:34:08

标签: iphone ios nsdate

我能够在当地时间获得任何位置。我的要求是,一旦我获取当地时间,我需要在每分钟后加1分钟到NSDate.for ex:我得到这样的时间:11:22和im能够在下一分钟显示它应该是11:23。

请帮帮我。

3 个答案:

答案 0 :(得分:10)

NSDate *currentDate = [NSDate date];
NSDate *datePlusOneMinute = [currentDate dateByAddingTimeInterval:60];

答案 1 :(得分:2)

Omarj的答案看起来很适合简单的测试目的,但我喜欢使用这段代码:

NSDateComponents *changeComponent = [[NSDateComponents alloc] init];
changeComponent.second = 20;

NSCalendar *theCalendar = [NSCalendar currentCalendar];
NSDate *newDate = [theCalendar dateByAddingComponents:changeComponent toDate:[NSDate date] options:0];

正如您可能看到的,您可以将changeComponent更改为分钟,小时,天或在我的情况下,秒!这对于测试我目前正在处理的本地通知非常有用。

此解决方案的最大好处是它考虑了日历,因此例如在夏令时更改时按小时添加应该没有问题。

答案 2 :(得分:1)

请检查此代码。

    NSString* dateString = @"9:33AM";
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"hh:mma"];
[formatter setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
NSDate *date = [formatter dateFromString:dateString];
NSLog(@"Before Adding time %@",date);
NSDate *newDate = [date dateByAddingTimeInterval:14*60];
NSLog(@"After adding time %@",[formatter stringFromDate:newDate]);