2013-10-08 57 views
-3

我第一次使用NSDateFormatter,当我尝试从字符串获取日期,然后它给nilNSDateFormatter.dateFromString返回(空)

NSDateFormatter * formatter = [[NSDateFormatter alloc] init]; 
[formatter setDateStyle:NSDateFormatterMediumStyle];  
[formatter setDateFormat:@"MMM dd , YYYY"];  
[formatter setTimeZone:[NSTimeZone defaultTimeZone]];  
NSDate * date = [formatter dateFromString:@"2013-10-10 09:51:24 +0000"]; 
NSLog(@"%@",date); 

请告诉我在这里错过了什么,在此先感谢。 。 。

+5

格式和字符串不匹配 –

+0

K,感谢我会改变形式,给试试 –

+0

@xlc谢谢你,它的工作。 。 –

回答

0

请尝试以下代码

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

[formatter setDateStyle:NSDateFormatterMediumStyle]; 

[formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss z"]; 

[formatter setTimeZone:[NSTimeZone defaultTimeZone]]; 

NSDate * date = [formatter dateFromString:@"2013-10-10 09:51:24 +0000"]; 

[formatter setDateFormat:@"MMM dd , YYYY"]; 

NSString *dateString = [formatter stringFromDate:date]; 

NSDate *outDate = [formatter dateFromString:dateString]; 

NSLog(@"%@,%@,%@",date,dateString,outDate); 
0

试试这个方法...它可以帮助你

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

    [formatter setDateStyle:NSDateFormatterMediumStyle]; 

    [formatter setDateFormat:@"yyyy-MM-dd hh:mm:ss z"]; 

    [formatter setTimeZone:[NSTimeZone defaultTimeZone]]; 
NSDate * date = [formatter dateFromString:@"2013-10-10 09:51:24 +0000"]; 

    NSLog(@"%@",date); // prints 2013-10-10 09:51:24 +0000 

[formatter setDateFormat:@"MMM dd , YYYY"]; 

NSString *String = [formatter stringFromDate:date]; 

NSDate *final = [formatter dateFromString:String]; 

NSLog(@"%@,%@,%@",date,String,final); 
+0

这对您有帮助吗? – user1673099

+0

为什么downvote给我? – user1673099