-- (BOOL)containsDate:(NSCalendarDate *)date {
- return ([self->startDate earlierDate:date] == self->startDate &&
- [self->endDate compare:date] == NSOrderedDescending) ? YES : NO;
+- (BOOL)containsDate:(NSCalendarDate *)_date {
+ NSComparisonResult result;
+
+ result = [self->startDate compare:_date];
+ if (!((result == NSOrderedSame) || (result == NSOrderedAscending)))
+ return NO;
+ result = [self->endDate compare:_date];
+ if (result == NSOrderedAscending)
+ return NO;
+ return YES;