2015-11-29 117 views
1

我有一个看起来像一个日这NSDateFormatter dateFromString上不当日返回nil

2015-11-07T14:02:00Z

我想用这个转换为一个NSDate实例这种方法:

- (NSDate *)formatDateString:(NSString *)string { 
    static NSDateFormatter *formatter = nil; 
    if (formatter == nil) { 
     formatter = [[NSDateFormatter alloc] init]; 
     [formatter setDateFormat:@"yyyy-mm-ddThh:mm:ssZ"]; 
     [formatter setDateStyle:NSDateFormatterMediumStyle]; 
     [formatter setTimeStyle:NSDateFormatterMediumStyle]; 
    } 
    return [formatter dateFromString:string]; 
} 

但是,这返回我零。

感谢

回答

1

日期格式似乎是不正确的:

[formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; 

另外,你需要,因为你已经在上述指定的所有日期组件删除以下行。

[formatter setDateStyle:NSDateFormatterMediumStyle]; 
[formatter setTimeStyle:NSDateFormatterMediumStyle]; 

把所有在一起:

- (NSDate *)formatDateString:(NSString *)string { 
    static NSDateFormatter *formatter = nil; 
    if (formatter == nil) { 
     formatter = [[NSDateFormatter alloc] init]; 
     [formatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss'Z'"]; 
    } 
    return [formatter dateFromString:string]; 
} 

-

[formatter dateFromString:@"2015-11-07T14:02:00Z"];