3

我能够获取本地时间的任何位置。我的要求是,一旦我获取本地时间,我需要在 NSDate 之后每分钟添加 1 分钟。例如:我得到这样的时间:11:22 并且我能够显示下一分钟应该是 11:23。

请帮我。

4

3 回答 3

10
NSDate *currentDate = [NSDate date];
NSDate *datePlusOneMinute = [currentDate dateByAddingTimeInterval:60];
于 2013-02-11T12:44:14.543 回答
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 更改为分钟、小时、天,或者在我的例子中,秒!这对于测试我目前正在处理的本地通知非常有用。

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

于 2013-09-12T12:47:01.113 回答
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]);
于 2014-02-13T11:07:49.873 回答