我能够在当地时间获得任何位置。我的要求是,一旦我获取当地时间,我需要在每分钟后加1分钟到NSDate.for ex:我得到这样的时间:11:22和im能够在下一分钟显示它应该是11:23。
请帮帮我。
答案 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]);