В вашем формате даты вы неправильно указали, это будет дд-мм-гггг ЧЧ: мм: сс.может быть, это была проблема .. вы получаете неправильную дату и не получаете ответ, я посылаю небольшой бит-код для получения дневной разницы.
NSDateFormatter *tempFormatter = [[[NSDateFormatter alloc]init]autorelease];
[tempFormatter setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
NSDate *startdate = [tempFormatter dateFromString:@"15-01-2011 09:00:00"];
NSLog(@"startdate ==%@",startdate);
NSDateFormatter *tempFormatter1 = [[[NSDateFormatter alloc]init]autorelease];
[tempFormatter1 setDateFormat:@"dd-MM-yyyy HH:mm:ss"];
NSDate *toDate = [tempFormatter1 dateFromString:@"20-01-2011 09:00:00"];
NSLog(@"toDate ==%@",toDate);
int i = [startdate timeIntervalSince1970];
int j = [toDate timeIntervalSince1970];
double X = j-i;
int days=(int)((double)X/(3600.0*24.00));
NSLog(@"Total Days Between::%d",days);
Редактировать 1:
мы можем найти разницу дат, используя следующую функцию:
-(int)dateDiffrenceFromDate:(NSString *)date1 second:(NSString *)date2 {
// Manage Date Formation same for both dates
NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
[formatter setDateFormat:@"dd-MM-yyyy"];
NSDate *startDate = [formatter dateFromString:date1];
NSDate *endDate = [formatter dateFromString:date2];
unsigned flags = NSDayCalendarUnit;
NSDateComponents *difference = [[NSCalendar currentCalendar] components:flags fromDate:startDate toDate:endDate options:0];
int dayDiff = [difference day];
return dayDiff;
}
от Abizernответнайти больше информации для NSDateComponent здесь.