如何按日期 Swift NSPredicates 过滤领域列表
How can I filter a Realm List by Date Swift NSPredicates
我想按日期过滤我的领域列表。过滤器应该按月显示每个列出的项目。我 select 这个月 "June",应用程序应该会显示 6 月份售出的所有商品。
这是我试过的代码,但显然没有成功。
let date = Date()
let format = DateFormatter()
format.dateFormat = "yyyy-MM-dd"
let formattedDate = format.string(from: date)
print(formattedDate)
let current = Calendar.current
let componentDate = current.component(.month, from: date)
print(current.component(.month, from: date))
let articles = realm.objects(Article.self).filter("artSoldDate = \(componentDate)")
return articles
您需要使用日期范围过滤器。您需要在特定日期开始范围并在特定日期结束。例如,
let predicate = NSPredicate(format: "artSoldDate >= %@ AND artSoldDate <= %@", startDate, endDate)
let result = realm.objects(Art.self).filter(predicate)
您的示例似乎在尝试检查 artSoldDate 是否恰好是某个日期。
我想按日期过滤我的领域列表。过滤器应该按月显示每个列出的项目。我 select 这个月 "June",应用程序应该会显示 6 月份售出的所有商品。
这是我试过的代码,但显然没有成功。
let date = Date()
let format = DateFormatter()
format.dateFormat = "yyyy-MM-dd"
let formattedDate = format.string(from: date)
print(formattedDate)
let current = Calendar.current
let componentDate = current.component(.month, from: date)
print(current.component(.month, from: date))
let articles = realm.objects(Article.self).filter("artSoldDate = \(componentDate)")
return articles
您需要使用日期范围过滤器。您需要在特定日期开始范围并在特定日期结束。例如,
let predicate = NSPredicate(format: "artSoldDate >= %@ AND artSoldDate <= %@", startDate, endDate)
let result = realm.objects(Art.self).filter(predicate)
您的示例似乎在尝试检查 artSoldDate 是否恰好是某个日期。