NSPredicate для диапазона между двумя датами не работает должным образом
У меня есть эти дваNSDate
s:
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"MM/dd/yyyy"];
NSDate *rangeStart = [df dateFromString: @"03/03/2013"];
NSDate *rangeEnd = [df dateFromString: @"10/04/2013"];
И этот предикат:
request.predicate = [NSPredicate predicateWithFormat:@"createdDate >= %@ AND createdDate <= %@", rangeStart, rangeEnd];
Но хотя вторая часть предиката специально использует<=
он возвращает объекты до дня до (то есть10/03/2013
).
Я также попытался построить предикат так:
NSPredicate *dateStartPredicate = [NSPredicate predicateWithFormat:@"createdDate >= %@", rangeStart];
NSPredicate *dateEndPredicate = [NSPredicate predicateWithFormat:@"createdDate <= %@", rangeEnd];
NSPredicate *finalPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:dateStartPredicate, dateEndPredicate, nil]];
Но я получаю те же результаты. Я делаю что-то неправильно? Это действительно ожидаемое поведение? Если это так, как можно установитьrangeEnd
на следующий день?
Спасибо