我有一个具有两个日期属性(date1 和 date2)的核心数据模型,并且想获取所有具有 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 天差异的对象。
我究竟做错了什么?