NSPredicate para el rango entre dos fechas no funciona como se esperaba
Tengo estos dosNSDate
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"];
Y este predicado:
request.predicate = [NSPredicate predicateWithFormat:@"createdDate >= %@ AND createdDate <= %@", rangeStart, rangeEnd];
Pero a pesar de que la segunda parte del predicado utiliza específicamente un<=
está devolviendo objetos hasta el día anterior (es decir,10/03/2013
).
También intenté construir el predicado de esta manera:
NSPredicate *dateStartPredicate = [NSPredicate predicateWithFormat:@"createdDate >= %@", rangeStart];
NSPredicate *dateEndPredicate = [NSPredicate predicateWithFormat:@"createdDate <= %@", rangeEnd];
NSPredicate *finalPredicate = [NSCompoundPredicate andPredicateWithSubpredicates:[NSArray arrayWithObjects:dateStartPredicate, dateEndPredicate, nil]];
Pero estoy obteniendo los mismos resultados. ¿Estoy haciendo algo mal? ¿Es este realmente el comportamiento esperado? Si es así, ¿cómo se puede configurar elrangeEnd
al dia siguiente?
Gracias