NSPredicate dla zakresu między dwiema datami nie działa zgodnie z oczekiwaniami
Mam te dwaNSDate
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"];
I ten predykat:
request.predicate = [NSPredicate predicateWithFormat:@"createdDate >= %@ AND createdDate <= %@", rangeStart, rangeEnd];
Ale nawet jeśli druga część predykatu używa a<=
zwraca przedmioty do poprzedniego dnia (to znaczy10/03/2013
).
Próbowałem również skonstruować predykat w ten sposób:
NSPredicate *dateStartPredicate = [NSPredicate predicateWithFormat:@"createdDate >= %@", rangeStart];
NSPredicate *dateEndPredicate = [NSPredicate predicateWithFormat:@"createdDate <= %@", rangeEnd];
NSPredicate *finalPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:dateStartPredicate, dateEndPredicate, nil]];
Ale uzyskuję takie same wyniki. czy robię coś źle? Czy to właściwie jest oczekiwane zachowanie? Jeśli tak, jak ustawićrangeEnd
do następnego dnia?
Dzięki