[英]Filter by date only from datetime/datepicker in swift
我在表单中使用日期时间选择器,并将以下数据插入到核心数据实体(属性)
`appointment.date = appointmentDate.date //it is getting date as well and time
appointment.title = "Appointment"
do {
try managedObjectContext.save()`
在另一个viewcontroller中,我这样做是根据日期过滤记录。 我有一个返回日期的日历。
let fetchRequest = NSFetchRequest<NSFetchRequestResult>(entityName: "Appointment")
let sortDescriptor = NSSortDescriptor(key: "date", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor]
let predicate = NSPredicate(format: "date = %@", calendar.selectedDate! as NSDate)
fetchRequest.predicate = predicate
尝试仅按日期(忽略时间)进行过滤,但它不起作用(不显示任何内容)。如果删除谓词,则显示所有记录。
正确的方法是什么?我在哪里做错了? 是格式问题吗?
如果要过滤所选日期中的记录,则必须应用带有开始和结束日期的谓词
let startDate = Calendar.current.startOfDay(for: calendar.selectedDate)
let endDate = Calendar.current.date(byAdding: .day, value: 1, to: startDate)
let predicate = NSPredicate(format: "date >= %@ AND date < %@", startDate as NSDate, endDate as NSDate)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.