2015-11-29 154 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"];