advantis
10/28/2013 - 8:08 AM

NSCalendar+ADVCalculations.h

//
//  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
//
//  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