Skip to content

Instantly share code, notes, and snippets.

@advantis
Last active December 26, 2015 18:19
Show Gist options
  • Save advantis/7193036 to your computer and use it in GitHub Desktop.
Save advantis/7193036 to your computer and use it in GitHub Desktop.
//
// Copyright © 2013 Yuri Kotov
//
#import <Foundation/Foundation.h>
@interface NSCalendar (ADVCalculations)
- (NSComparisonResult) compareDate:(NSDate *)date1 toDate:(NSDate *)date2 withGranularity:(NSCalendarUnit)granularity;
- (BOOL) isDate:(NSDate *)date1 equalToDate:(NSDate *)date2 withGranularity:(NSCalendarUnit)granularity;
@end
//
// Copyright © 2013 Yuri Kotov
//
#import "NSCalendar+ADVCalculations.h"
@implementation NSCalendar (ADVCalculations)
- (NSComparisonResult) compareDate:(NSDate *)date1 toDate:(NSDate *)date2 withGranularity:(NSCalendarUnit)granularity
{
NSCalendarUnit unitFlags = granularity * 2 - 2;
date1 = [self dateFromComponents:[self components:unitFlags fromDate:date1]];
date2 = [self dateFromComponents:[self components:unitFlags fromDate:date2]];
return [date1 compare:date2];
}
- (BOOL)isDate:(NSDate *)date1 equalToDate:(NSDate *)date2 withGranularity:(NSCalendarUnit)granularity
{
return NSOrderedSame == [self compareDate:date1 toDate:date2 withGranularity:granularity];
}
@end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment