NSPredicate para intervalo entre duas datas não está funcionando conforme o esperado
Eu tenho esses doisNSDate
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"];
E esse predicado:
request.predicate = [NSPredicate predicateWithFormat:@"createdDate >= %@ AND createdDate <= %@", rangeStart, rangeEnd];
Mas mesmo que a segunda parte do predicado use especificamente um<=
está retornando objetos até o dia anterior (isto é,10/03/2013
).
Eu também tentei construir o predicado assim:
NSPredicate *dateStartPredicate = [NSPredicate predicateWithFormat:@"createdDate >= %@", rangeStart];
NSPredicate *dateEndPredicate = [NSPredicate predicateWithFormat:@"createdDate <= %@", rangeEnd];
NSPredicate *finalPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:dateStartPredicate, dateEndPredicate, nil]];
Mas estou conseguindo os mesmos resultados. Estou fazendo algo errado? Isso é realmente o comportamento esperado? Se for, como pode definir orangeEnd
para o dia seguinte?
obrigado