Я работаю над проектом, в котором мне нужно выяснить, находится ли выбранный временной интервал между другим временным интервалом или нет. Например, есть временной интервал, такой как с 1:00 до 2:00. Теперь я хочу получить, что этот временной интервал находится между 00:45 и 3:45 слотом или нет?
Имейте в виду, что это не служба написания кода - покажите, какие исследования вы провели, уже пробовали, примеры кода и т. д. Прочтите Как спросить и минимальный воспроизводимый пример и обновите свой вопрос.





NSDateFormatter *formatter = [[NSDateFormatter alloc]init];
[formatter setDateFormat:@"hh:mm a"];
NSDate *generatedStartDate = [formatter dateFromString:@"01:00 AM"];
NSDate *generatedEndDate = [formatter dateFromString:@"03:44 AM"];
NSDate *slotStartDate = [formatter dateFromString:@"01:00 AM"];
NSDate *slotEndDate = [formatter dateFromString:@"03:45 AM"];
NSComparisonResult result = [slotStartDate compare:generatedStartDate];
NSComparisonResult result1 = [generatedEndDate compare:slotEndDate];
if (result != NSOrderedDescending && result1 != NSOrderedDescending) {
NSLog(@"IN Between");
} else {
NSLog(@"NOT IN Between");
}
Обратите внимание, что может быть интересно проверить, что startA <= endA и startB <= endB; иначе вам нужно добавить «один день» (я думаю) в endA / endB.
Обратите внимание, что NSComparisonResult является трехзначным типом; NSOrderedAscending, NSOrderedSame, NSOrderedDescending; поэтому (result == NSOrderedAscending || result == NSOrderedSame) можно заменить на (result != NSOrderedDescending) (и аналогично для result1)
Проверьте, если startA <= start B && endB <= endA?