我的核心数据库中有一个实体,其中包含 startDate 字段,以及一个字段 everyX ,用于存储实体活动的频率(如果 everyX 为2,每两天就会激活一次。我想获取所有实体,其中 startDate 和当前日期之间的天数可由 everyX 分割。使用 everyX 的模数确定 startDate 和今天之间的天数是否可行,但我无法找到获取天数的方法
例如,应该提取这些:
startDate = 12.9.15
everyX = 2
today = 14.9.15
startDate = 10.9.15
everyX = 2
today = 14.9.15
不应提取这些内容:
startDate = 9.9.15
everyX = 2
today = 14.9.15
startDate = 10.9.15
everyX = 3
today = 14.9.15
NSPredicate确实支持自定义函数,但是从核心数据sqlite存储中获取时这些函数不起作用。所以我需要另一种方法来计算使用NSFetchRequest时两个日期之间的天数。
我知道可以在获取请求后使用代码过滤实体,但我想防止这种情况,因为我会失去我正在使用的NSFetchedResultsController的许多好处
答案 0 :(得分:0)
您可以尝试获取数据并使用日期,例如:
var formatter:NSDateFormatter = NSDateFormatter()
formatter.dateFormat = "DD"
var dayNumber1 = formatter.dateFromString(Your first Date)!
var dayNumber2 = formatter.dateFromString(Your second Date)!
var difference = dayNumber2 - dayNumber1
或者您应该将您的日期编号设置为CoreData中的另一个字段,然后您可以对该字段进行操作。