У меня есть функция с возвращаемым значением BOOL и двумя входными параметрами (NSDateComponents *). Моя проблема в том, что у меня есть два значения NSDateComponents, и я хочу знать, попадают ли эти две даты в одну и ту же календарную неделю. Я пробовал самые простые решения для решения проблемы, моя идея была следующей:
- (BOOL)isFunctionName:(NSDateComponents *)comp1 andParam:(NSDateComponents *)comp2 {
return (([comp1 week] == [comp2 week]) && ([comp1 year] == [comp2 year]));
}
но это неправильно. каким образом я могу это решить?
отредактировано
поэтому у меня есть функция, которая делает компоненты даты из дат.
-(NSDateComponents *)dateToDateComponents:(NSDate *)date {
unsigned unitFlags = NSYearCalendarUnit | NSMonthCalendarUnit | NSDayCalendarUnit;
NSCalendar *gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
NSDateComponents *dateComponents = [gregorian components:unitFlags fromDate:date];
[gregorian release];
return dateComponents;
}
и я называю это так:
if ([self isFunctionName: [self dateToDateComponents:startDate] and Param:[self dateToDateComponents:currentTripDate]]){
}
и во время моего теста он возвращает ДА все мои даты (например, 2010.07.21 - 2010.08.18)