Skip to content

Instantly share code, notes, and snippets.

@somegeekintn
Created July 28, 2013 11:14
Show Gist options
  • Save somegeekintn/6098240 to your computer and use it in GitHub Desktop.
Save somegeekintn/6098240 to your computer and use it in GitHub Desktop.
NSCalendar method to floor date to some calendar unit
- (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