获取ios中两个日期之间的天数名称?

Man*_*ani 1 objective-c nsdate ios4 ios ios5

如何获取ios中两个日期之间的天数?

例:

Input:
 Start Date: 3-11-2012 
 End date:   5-11-2012

Output:
 3-11-2012 Wednesday
 4-11-2012 Thursday
 5-11-2012 Friday

谢谢..

Ank*_*kur 11

试试这个,

    NSDateFormatter *df = [[NSDateFormatter alloc] init];
    [df setDateFormat:@"yyyy-MM-dd"];
    NSDate *startDate = [df dateFromString:@"2012-07-20"]; // your start date
    NSDate *endDate = [NSDate date]; // your end date
    NSDateComponents *dayDifference = [[NSDateComponents alloc] init];

    NSMutableArray *dates = [[[NSMutableArray alloc] init] autorelease];
    NSUInteger dayOffset = 1;
    NSDate *nextDate = startDate;
    do {
        [dates addObject:nextDate];

        [dayDifference setDay:dayOffset++];
        NSDate *d = [[NSCalendar currentCalendar] dateByAddingComponents:dayDifference toDate:startDate options:0];
        nextDate = d;
    } while([nextDate compare:endDate] == NSOrderedAscending);

    [df setDateStyle:NSDateFormatterFullStyle];
    for (NSDate *date in dates) {
        NSLog(@"%@", [df stringFromDate:date]);
    }
    [df release];
Run Code Online (Sandbox Code Playgroud)

输出是:

Friday, July 20, 2012
Saturday, July 21, 2012
Sunday, July 22, 2012
Monday, July 23, 2012
Tuesday, July 24, 2012
Run Code Online (Sandbox Code Playgroud)