我有這兩個NSDate
S:NSPredicate兩個日期之間的範圍沒有按預期工作
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
到第二天?
由於
感謝您的描述,不知道這一點。但是你看到我的問題結束了嗎? 「如果是的話,怎麼能把距離設置到第二天?」你能詳細說明一下嗎?謝謝 – Jan
@Jan當然,看看編輯。 – dasblinkenlight