ローカルデータベースには、NSTimeInterval値のリストが保存されています。特定の月に利用可能なすべてのレコードを見つけてフェッチする必要があります。唯一の問題は、特定の月の最終日のレコードを取得できないように見えることです。
ある月が12月なので、12月1日から12月31日まで(午後11時59分まで)のすべてのレコードをフェッチする必要があるとします。
私は次の実装を使用しています:
[self.dateFormatter setDateFormat:@"dd-MM-yyyy"];
NSDate *startDate = [self.dateFormatter dateFromString:@"1-12-2012"];
NSDate *endDate = [self.dateFormatter dateFromString:@"31-12-2012"];
NSTimeInterval startDateTimeInterval = [startDate timeIntervalSince1970];
NSTimeInterval endDateTimeInterval = [endDate timeIntervalSince1970];
[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"(mdate >= %f) AND (mdate <= %f)",startDateTimeInterval,endDateTimeInterval]];
endDateTimeInterval
31日(午前9時)にデータベースに保存された値と比較して、double値がかなり少ないことに気づきました。しかし、それは可能ですが、endDateTimeは12月31日午後11時59分までになると予想しています。
この問題に関するご意見をお聞かせください。