coredata获取请求中的日期比较?

Posted

技术标签:

【中文标题】coredata获取请求中的日期比较?【英文标题】:Date comparison in coredata fetch request? 【发布时间】:2013-11-18 19:19:50 【问题描述】:

在我的应用程序中,我使用的是 coredata。我的“作业”表中有一个 NSDate 类型的 endDate 字段。我想从 'Job' 中获取 endDate 小于当前日期的所有记录? 任何帮助都将是可观的

【问题讨论】:

【参考方案1】:

您可以在获取请求中设置这样的谓词:

[fetchRequest setPredicate:[NSPredicate predicateWithFormat:@"endDate < %@", [NSDate date]]];

【讨论】:

感谢您的回复。但是,当我尝试您的代码时,应用程序会因异常 '-[__NSCFString timeIntervalSinceReferenceDate]: unrecognized selector sent to instance 0x9a727f0 而崩溃 这个谓词只是从工作代码中复制而来。请分享您的获取请求的完整代码和您的实体描述。 @Jeff:这可能意味着您的endDate 属性存储为字符串,而不是日期 3 个问题:不确定是否存在问题,但为什么要在谓词中使用单引号 ''? ('%@' 应该是 %@)。你能确认你的 endDate 是 NSDate 类型吗?据我所知,获取请求需要一个实体 (fetchRequest setEntity:)。 啊..您应该删除谓词中的[NSString stingWithFormat:]。只需使用我提到的确切谓词即可。

以上是关于coredata获取请求中的日期比较?的主要内容,如果未能解决你的问题,请参考以下文章

在 NSFetchedResultsController 中使用 Predicate 与 CoreData 进行日期比较

NSPredicate - 核心数据 - 比较两个属性

Swift - 可选日期比较

我想从 Java 日期中获取年、月、日等,以与 Java 中的公历日期进行比较。这可能吗?

如何将 Fullcalendar 插件中的日期与日期数组进行比较

如何通过与 Flutter Cloud Firestore 插件中的日期进行比较来获取记录?