Skip to content

Instantly share code, notes, and snippets.

@ryantxr
Last active March 23, 2016 14:25
Show Gist options
  • Save ryantxr/8a0db817f44da977018d to your computer and use it in GitHub Desktop.
Save ryantxr/8a0db817f44da977018d to your computer and use it in GitHub Desktop.
Date ranges with NSCalendar in Swift
print("Day test = \(rangeOfPeriod(.Day, date: NSDate()))")
print("Week test = \(rangeOfPeriod(.WeekOfYear, date: NSDate()))")
print("month test = \(rangeOfPeriod(.Month, date: NSDate()))")
print("Year test = \(rangeOfPeriod(.Year, date: NSDate()))")
func rangeOfPeriod(period: NSCalendarUnit, date: NSDate) -> (NSDate, NSDate) {
let calendar = NSCalendar.currentCalendar()
var startDate: NSDate? = nil
var duration: NSTimeInterval = 0
calendar.rangeOfUnit(period, startDate: &startDate, interval: &duration, forDate: date)
let endDate = startDate!.dateByAddingTimeInterval(duration - 1)
return (startDate!, endDate)
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment