[英]NSPredicate Get Date by Interval
我需要能够以5分钟为间隔,10分钟为间隔,每天,每月和每年为一个股票间隔获取日期数组。 到目前为止,我只能得出这个谓词,但是我不确定如何继续执行间隔。
var datetime = "2014-07-14T09:00:00:+08:000"
quoteArray = Quote.objectsWhere("date >= %@",datetime)
如果给定日期,您想要生成接下来的12个每月日期,请使用NSCalendar。 使用游乐场。
let formatter = NSDateFormatter()
formatter.dateFormat = "yyyy-MM-dd'T'hh:mm:ss:Z"
var ds = "2014-07-14T09:00:00:+0000"
var dt = formatter.dateFromString(ds)
print( formatter.stringFromDate(dt!)) // just show what we have.
let calendar = NSCalendar(identifier: NSCalendarIdentifierGregorian)
var monthDates = [NSDate]()
for i in 1...12 {
let month = calendar?.dateByAddingUnit(NSCalendarUnit.Month, value: i, toDate: dt!, options: NSCalendarOptions.MatchStrictly)
print(month!)
monthDates.append(month!)
}
请注意,这些间隔相隔一个月,但不一定在美好的一天或一个月的界限上。
要从给定的日期时间开始,每隔10分钟获得24小时的价值,请执行以下操作:
var min10Intervals = [NSDate]()
for i in 1..144 {
let tenMinute = calendar?.dateByAddingUnit(NSCalendarUnit.Minute, value: i*10, toDate: dt!, options: NSCalendarOptions.MatchStrictly)
min10Intervals.append(tenMinute!)
}
请注意,这些时间间隔为10分钟,但不一定在10分钟的界限内(例如11:10),除非给定的日期时间是。
如果要过滤或汇总数据并将其分配给时间间隔,那就是另一个问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.