Finden Sie heraus, dass noch Tage aus einer Reihe von Datumsangaben übrig sind [duplizieren]

Diese Frage hat hier bereits eine Antwort:

wie ein anderes Array mit der Anzahl der verbleibenden Tage erstellt wird 3 Antworten

Ich habe ein Array wie unten

_combinedBirthdates(
"03/12/2013",
"03/12/2013",
"08/13/1990",
"12/09/1989",
"02/06",
"09/08",
"03/02/1990",
"08/22/1989",
"03/02",
"05/13",
"10/16",
"07/08",
"08/31/1990",
"04/14/1992",
"12/15/1905",
"08/14/1989",
"10/07/1987",
"07/25",
"07/17/1989",
"03/24/1987",
"07/28/1988",
"01/21/1990",
"10/13"

)

dies sind alle NSString

ch versuche, daraus ein neues Array zu machen, das Tage enthält, die noch so etwas wie unten sin

(verbleibende Tage für ein bestimmtes Geburtsdatum) (wir werden das aktuelle Datum mit dem obigen Datumsarray vergleichen und die verbleibenden Tage herausfinden) _newarray ("125", "100", "65" und bis zum Ende so ..)

Ich verwende folgenden Code für dieses

unsigned int unitFlags =  NSDayCalendarUnit;
NSCalendar *currCalendar = [[NSCalendar alloc]
                            initWithCalendarIdentifier:NSGregorianCalendar];


NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];

[dateFormatter setDateStyle:NSDateFormatterShortStyle];
NSLog(@" currCalendar%@",currCalendar);

NSMutableArray * _newarray = [[NSMutableArray alloc] init];
for (NSString * str in _combinedBirthdates){

    NSDate * toDate = [dateFormatter dateFromString:str];
    NSDateComponents *daysInfo = [currCalendar components:unitFlags fromDate:[NSDate date]  toDate:toDate  options:0];
    int days = [daysInfo day];
    [_newarray addObject:[NSString stringWithFormat:@"%d",days]];
}
NSLog(@" _newarray%@",_newarray);

und das ist, was ich als Ausgabe bekomme, wenn ich _newarray plz drucke, hilf mir, danke

_newlymadeArray(
"-1",
"-1",
"-8248",
"-8495",
"-4454",
"-4454",
"-8412",
"-8604",
"-4454",
"-4454",
"-4454",
"-4454",
"-8230",
"-7638",
"-39170",
"-8612",
"-9289",
"-4454",
"-8640",
"-9486",
"-8994",
"-8452",
"-4454",
"-2072",
"-888",
"-8315"
)

Antworten auf die Frage(2)

Ihre Antwort auf die Frage