【发布时间】:2011-04-07 01:16:26
【问题描述】:
所以,我很难找到 NSDate 是否在特定范围内(不是双关语)。考虑一下:下午 5:00 到 6:00 之间的预定访问。我想知道预定的访问是否在当前时间的 +/- 15 分钟内。因此,我的 safe 范围是下午 4:45 到下午 6:15。我怎样才能知道预定的访问是在范围内还是不在范围内?这是我到目前为止得到的代码,它根本不起作用......
- (BOOL)isInScheduledRange {
// NSLog(@"Start: %f", [self.start timeIntervalSinceNow]);
// NSLog(@"End: %f", [self.end timeIntervalSinceNow]);
//
// if (([self.start timeIntervalSinceNow] >= -900) && ([self.end timeIntervalSinceNow] <= 3600)) {
// NSLog(@"In Range");
//
// return YES;
// }
//
NSDate *now = [[NSDate alloc] init];
// if ((([self.start timeIntervalSinceDate:now] >= -900) && ([self.start timeIntervalSinceDate:now] <= 900)) && (([self.end timeIntervalSinceDate:now] <= -900) && ([self.end timeIntervalSinceDate:now] >= 900))) {
// NSLog(@"In Range");
// }
NSLog(@"%@; %@; %@", now, self.start, self.end);
// NSLog(@"%@; %@", [self.start timeIntervalSinceDate:now], [self.end timeIntervalSinceDate:now]);
if ((([self.start timeIntervalSinceDate:now] >= -900) && ([self.start timeIntervalSinceDate:now] <= 0)) && (([self.end timeIntervalSinceDate:now] >= 0) && ([self.end timeIntervalSinceDate:now] <= 900))) {
NSLog(@"In Range");
}
return NO;
[now release];
}
我会很感激一些帮助。我在计算这个时间时遇到了困难。
另外,我讨厌与时间打交道,无论我使用什么平台...
【问题讨论】:
标签: objective-c ios nsdate