0

我有一个具有两个日期属性(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 天差异的对象。

我究竟做错了什么?

4

1 回答 1

1

为什么不将日期差异存储为单独的字段

它将比任何即时计算都快得多。你可以在date's setter 中做到这一点。

于 2013-10-02T10:41:00.020 回答