繁体   English   中英

NSPredicate按时间间隔获取日期

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM