Если с учетом даты вы хотите сгенерировать следующие 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!)
}
Обратите внимание, что они будут разнесены на один месяц отдельно, но не обязательно на хороших дневных или месячных границах.
Чтобы получить 24 часов стоит 10-минутными интервалами, начиная с заданного времени дата:
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), если данное время не указано.
Если вы фильтруете или суммируете данные и присваиваете их интервалам, это другая проблема.
Пожалуйста, объясните свое мнение лучше, опишите, что вы хотите получить – shannoga
Например, мне нужно получить 1 год с месячным интервалом с датами, но я не уверен, как достичь этого –
Чтобы получить все даты между даты (например, январь 2015 г. и февраль 2015 г.), вы должны выполнить «date> = dateJan2015 AND date <= dateFeb2015', но если вы хотите получить детальную детализацию дня при получении в течение месяца, вы должны добавить их вручную или выполнить медиализируйте себя. Если я помню, есть '@ mean', который вы можете использовать, или' @ sum' в соответствии с тем, что вы хотите. – Larme