我有一个具有两个日期属性(date1和date2)的Core Data模型,并且想要获取所有具有date2 - date1>的对象。 x天。我已经尝试过了:
NSFetchRequest *fetchRequest = [NSFetchRequest fetchRequestWithEntityName:@"MyEntity"];
fetchRequest.predicate = [NSPredicate predicateWithFormat:@"date1 != nil AND date2 != nil AND date2 - date1 > %d", x*86400];
我对NSDate的理解是,它只是Unix时间戳的包装器,而Core Data通过内部比较时间戳来比较两个日期。有一天有86400秒,所以上面的谓词对我来说总体上是有意义的,但不知何故它也会返回少于x天差异的对象。
我做错了什么?
答案 0 :(得分:1)
为什么不将日期差异存储为单独的字段?
它将比任何即时计算都快得多。你可以在date
的制定者那里做到这一点。