2013-03-13 2 views
-3

я один массив что-то вроде нижевыяснить дни остаются из массива дат

_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" 

)

это все они NSString

я пытаюсь сделать новый массив из этого, который содержит дней остальное что-то вроде ниже

(дней, оставшихся для определенной даты рождения) (мы сопоставим текущую дату с массивом даты и будем f инд из оставшихся дней) _newarray ( "125", "100", "65", и до конца, как это .. )

я использую ниже код для этого

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); 

и это то, что я получаю в качестве выходных, когда я печать _newarray плз помогите мне спасибо

_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" 
) 
+0

я не могу получить вес у действительно хотите: ( – iPatel

+0

days remaning for paticular Дата рождения –

+1

Я думаю, что это решается в этом вопросе 'http: // stackoverflow.com/questions/15358210/how-to-make-another-array-contains-number-of-days-still' –

ответ

0

Пожалуйста, попробуйте использовать this.I думаю, что это один может помочь вам.

NSDateFormatter *tempFormatter = [[NSDateFormatter alloc]init]; 
    [tempFormatter setDateFormat:@"dd/MM/yyyy"]; 

    NSString *str = [tempFormatter stringFromDate:@"yourStartDate"]; 
    NSDate *startdate = [tempFormatter dateFromString:str]; 

    str = [tempFormatter stringFromDate:@"yourEndDate"]; 
    NSDate *endDate = [tempFormatter dateFromString:str]; 

    int i = [startdate timeIntervalSince1970]; 
    int j = [toDate timeIntervalSince1970]; 

    double X = j-i; 

    int days=(int)((double)X/(3600.0*24.00)); 
+0

, когда я пытаюсь напечатать int days, это то, что я получаю Single stepping до выхода из функции objc_msgSend, , которая не имеет информации о номере линии. –

+0

Большое спасибо, я получил ответ от урского стиля. –

+0

. Ваш самый радушный дорогой ... –

0

использовать ниже код, чтобы сравнить две даты проходят как дату в том же формате

NSDateFormatter *dateformat = [[NSDateFormatter alloc]init]; 
[dateformat setDateFormat:@"dd/MM/yyyy"]; 
NSString *StrDate1 = [dateformat stringFromDate:[NSDate date]]; 
NSString *StrDate2 = [dateformat stringFromDate:date2]; 
NSDate *firstDate = [dateformat dateFromString:StrDate1]; 
NSDate *secondDate = [dateformat dateFromString:StrDate2]; 
NSTimeInterval lastDiff = [firstDate timeIntervalSinceNow]; 
NSTimeInterval todaysDiff = [secondDate timeIntervalSinceNow]; 
NSTimeInterval dateDiff = todaysDiff - lastDiff; 
int day = dateDiff/(3600*24); 

// days are remaining 

использовать это в течение цикла вы воротных оставшиеся дни

+0

, когда я пытаюсь выполнить prinkt int day, тогда это то, что я получаю Single stepping до выхода из функции objc_msgSend, , которая не имеет информации о номере линии. –

+0

спасибо, что я получил ответ по урскому стилю –

+0

Вы больше всего приветствуетесь – Pratik

Смежные вопросы