Это рабочая функция, которая округляет минуты до ближайших пяти. Что мне нужно, так это вернуть время в определенном часовом поясе, поэтому, независимо от того, находитесь ли вы в часовом поясе +1, +5 или где-то еще, он должен вернуть часовой пояс +1. Кто-нибудь знает, как я могу это решить?
func SkipToEvenFiveMinutes(date:NSDate) -> NSDate!
{
let componentMask : NSCalendarUnit = ([NSCalendarUnit.Year , NSCalendarUnit.Month , NSCalendarUnit.Day , NSCalendarUnit.Hour ,NSCalendarUnit.Minute, NSCalendarUnit.Second+NSTimeZone setDefaultTimeZone:UTC+1])
let components = NSCalendar.currentCalendar().components(componentMask, fromDate: date)
let current = components.minute * 60
let currentSeconds = current + components.second
let diff = currentSeconds % (60 * 5);
let difference = Double(diff)
if (difference > 60.0 * 2.5) {
components.second += 60 * 5 - diff
} else {
components.second -= diff
}
return NSCalendar.currentCalendar().dateFromComponents(components)!
}