2015-11-29 3 views
1

У меня есть дата, которая выглядит следующим образомNSDateFormatter dateFromString возвращает ноль несоответствующей даты

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"];