2013-08-12 3 views
0

У меня есть этот DateString, как вошли в консоли:NSDate возвращение NULL

2013-8-11 10:00 PM

Im работает этот dateFormatter для того, чтобы сделать его в NSDate:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
    [dateFormatter setDateFormat:@"yyyy-MM-dd hh:mm a"]; 
    [dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"MST"]]; 

    NSDate *openDate = [dateFormatter dateFromString:adjustedOpenDateString]; 

    NSLog(@"DEALWITHTIMESTRINGS = open, now, close %@,%@,%@", openDate,[NSDate date], closeDate); 

Но когда я регистрирую его, openDate показывает NULL. Точно так же closeDate.

ответ

6

Пространство между hh:mm и a в строке вашего формата, вероятно, приводит к сбою.

Вместо этого вы будете хотеть сделать это:

[dateFormatter setDateFormat:@"yyyy-MM-dd hh:mma"]; 
+0

Нет, это не приведет к сбою. Он написал это правильно. – CaptJak

+2

В тесте, которое я только что сделал, пространство разбило разбор. –

+0

Я также проверил это, и удаление пространства между спецификатором AM/PM привело к созданию соответствующего объекта NSDate. Я думал, что это могло быть потому, что формат даты указывал две цифры для месяца, а строка даты содержала только одну, но это был спецификатор AM/PM в конце концов. – dreamlax

Смежные вопросы