没有日期的 NSPredicate 时间戳

NSPredicate timestamp without date

我正在使用 NSPredicate 从核心数据中获取项目。这些项目的创建时间必须在下午 4 点到 6 点之间。我如何使用 NSPredicate 来做到这一点?现在我正在使用:

let predicate = NSPredicate(format: "time >= \(startTime) AND time <= \(endTime)")

但这也考虑了日期,我只希望它检查时间。这可能使用 NSPredicate 还是我应该只获取所有项目,手动删除日期,然后通过检查时间过滤掉项目?

您真的应该向实体添加一个 'hour time stamp',它可以在您现有的日期时间值更新时自动设置,并且您可以将其用于获取谓词。谓词和检查日期时间戳,但仅从 <=> 角度(如您当前代码使用的那样)。