如何使用格式化程序将字符串日期转换为nsdate?

如何使用格式化程序将字符串日期转换为nsdate?

问题描述:

我按照*的答案和写一个代码,但我不知道发生了什么,它不会工作。任何人都可以为我解决它。我使用愚蠢的代码....如何使用格式化程序将字符串日期转换为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对象仍然没有

+0

你是什么日期格式,请打印数组或字典的数据? –

+0

我猜'datetring'和dateFormat('dd MMM,YYY')不匹配(这是最好的猜测,但你没有给出样本)。另外,避免每次在循环中执行'NSDateFormatter'对象的alloc/init。首先它非常耗费,并且每次都使用相同的功能。 – Larme

+0

打印日期fromat –

我相信datestring不符合您指定的格式。有关完整示例,请参阅NSDateFormatter

试试这个,

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

告诉我密钥发布日期的格式date_date – Sunny

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

他可以知道格式,并且在他的问题中发布了相同的格式,如果它不起作用,他必须根据他的要求更改日期格式。这就是他 –