Created
July 28, 2013 11:14
-
-
Save somegeekintn/6098240 to your computer and use it in GitHub Desktop.
NSCalendar method to floor date to some calendar unit
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- (NSDate *) floorDate: (NSDate *) inDate | |
toCalendarUnit: (NSInteger) inCalendarUnit | |
{ | |
NSDateComponents *dateComponents; | |
NSInteger calendarUnits = 0; | |
switch (inCalendarUnit) { | |
case NSSecondCalendarUnit: calendarUnits |= NSSecondCalendarUnit; | |
case NSMinuteCalendarUnit: calendarUnits |= NSMinuteCalendarUnit; | |
case NSHourCalendarUnit: calendarUnits |= NSHourCalendarUnit; | |
case NSDayCalendarUnit: calendarUnits |= NSDayCalendarUnit; | |
case NSMonthCalendarUnit: calendarUnits |= NSMonthCalendarUnit; | |
case NSYearCalendarUnit: calendarUnits |= NSYearCalendarUnit; | |
} | |
if (calendarUnits) { | |
dateComponents = [self components: calendarUnits fromDate: inDate]; | |
inDate = [self dateFromComponents: dateComponents]; | |
} | |
return inDate; | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment