У меня есть функция с возвращаемым значением BOOL и 2 входными (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)