Итак, у меня возникли трудности (без каламбура), чтобы определить, находится ли NSDate в определенном диапазоне. Представьте себе это: запланированное посещение с 17:00 до 18:00. Я хочу узнать, находится ли запланированный визит в пределах +/- 15 минут от текущего времени. Таким образом, мой безопасный диапазон составляет с 16:45 до 18: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];
}
Буду признателен за помощь. У меня проблемы с расчетом этого времени.
Отдельно хочу отметить, что я ненавижу иметь дело со временем, независимо от того, с какой платформой я работаю ...