Задача c: получить дату в формате ISO из строки '2015-11-25T00:00:00.000Z'

В нашем приложении мы получаем строку даты "2015-11-25T00:00:00.000Z" с сервера. Теперь мы должны преобразовать эту строку в NSDate.

Я использовал следующий код для преобразования. Который имеет формат даты ISO.

NSDateFormatter * dateFormatter = [[NSDateFormatter alloc] init];
    [dateFormatter setDateFormat:@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"];

    NSDate *outputDate =  [dateFormatter dateFromString:@"2015-11-25T00:00:00.000Z"];

Но это возвращается null,

Может кто-нибудь подсказать, где я допустил ошибку...

1 ответ

Ваш код правильный. Возвращает:

(lldb) po outputDate
2015-11-25 00:00:00 +0000

Попробуйте следующий код:

NSDateFormatter *dateFormatter = [NSDateFormatter new];
dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"];
dateFormatter.dateFormat = @"yyyy-MM-dd'T'HH:mm:ss.SSSZ";

NSDate *outputDate =  [dateFormatter dateFromString:@"2015-11-25T00:00:00.000Z"];
Другие вопросы по тегам