2016-06-13 14 views
-4

i follow stackOverflow answer и написать код, но я не знаю. Что произойдет. Это не сработает. PLZ, любой может решить это для меня. я использую код обмана ....Как преобразовать строку date в nsdate с помощью форматирования?

 NSMutableArray *movieDate; 
    NSArray *temp1 = [_dicUpcomingMovie objectForKey:@"results"]; 
    for (NSDictionary *temp2 in temp1) 
    { 
     NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 

     NSString *datestring = [temp2 valueForKey:@"release_date"]; 
     //NSDate *myDate = [[NSDate alloc]init]; 
     [formatter setDateFormat:@"dd MMM,YYYY"]; 
     NSDate *date = [formatter dateFromString:datestring]; 
     NSLog(@"%@",date); 
     [movieDate addObject:date]; 
     NSLog(@"%@",movieDate); 
    } 

так что это он. приведенный выше код не работал myDate object still nil

+0

Что ваш формат даты, пожалуйста, распечатайте массив или словарь данных? –

+0

Я думаю, что 'datestring' и dateFormat (' dd MMM, YYY') не совпадают (это лучшее предположение, но вы не дали выборку). Также избегайте выполнения alloc/init объекта 'NSDateFormatter' каждый раз в цикле. Сначала это довольно много, и вы также используете их каждый раз. – Larme

+0

Напечатать дату с –

ответ

0

Я считаю, что datestring не соответствует указанному вами формату. Для полного примера см. NSDateFormatter.

-1

Попробуйте это,

NSMutableArray *movieDate; 
    NSArray *temp1 = [_dicUpcomingMovie objectForKey:@"results"]; 
    for (NSDictionary *temp2 in temp1) 
    { 
     NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 

     NSString *datestring = [temp2 valueForKey:@"release_date"]; 
     //NSDate *myDate = [[NSDate alloc]init]; 
     [formatter setDateFormat:@"dd MM,YYYY"]; 
     NSDate *date = [formatter dateFromString:datestring]; 
     NSLog(@"%@",date); 
     [movieDate addObject:date]; 
     NSLog(@"%@",movieDate); 
    } 
+0

Скажите мне формат даты, которую вы получаете по ключевому слову release_03 – Sunny

0
NSMutableArray *movieDate=[[NSMutableArray alloc]init];; 
    NSArray *temp1 = [_dicUpcomingMovie objectForKey:@"results"]; 
    NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; 
    for (int i=0 ;i<temp1.count;i++) 
    { 


    NSString *datestring = [[temp1 objectatindex:i]valueForKey:@"release_date"]; 

    [serverFormatter setTimeZone:[NSTimeZone localTimeZone]]; 
    [serverFormatter setDateFormat:@"dd,MMM,YYYY"]; 
    NSDate *date = [serverFormatter dateFromString:dateString1]; 

    [movieDate addObject:date]; 

} 
    NSLog(@"%@",movieDate); 
+0

используйте это, он будет работать –

+0

Это не сработает, потому что вы не знаете строковый формат даты! – tbilopavlovic

+0

он может знать формат, и он опубликовал такой же формат в своем вопросе, если он не работает, он должен изменить формат даты в соответствии с его требованием. что до него –