Разбор NSDate to String с MM / d / YYY чч: мм AAA формат не работает - PullRequest
0 голосов
/ 07 марта 2012

Мне трудно разобрать строки даты типа: 3\/3\/2012 12:00:00 AM. У меня есть следующий код:

    NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
    formatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US"];
    formatter.dateFormat = @"MM/d/YYYY hh:mm aaa";
    conference.beginDate = [formatter dateFromString:[jsonElement valueForKey:@"BeginDateMember"]];

Но, к сожалению, все мои beginDate null.

Я не уверен, что: a) мне нужно включить в формат escape-обратную косую черту, b) указать неправильный языковой стандарт, c) указать неправильный формат или d) некоторую комбинацию перечисленного выше.

Это несколько нестандартный формат даты, поэтому помощь приветствуется.

Ответы [ 2 ]

1 голос
/ 07 марта 2012

Вы можете попробовать это:

NSDateFormatter* dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"MM/d/YYYY hh:mm aaa"]; //notice the change here ..
[dateFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"]]; //.. and here
conference.beginDate = [formatter dateFromString:[jsonElement valueForKey:@"BeginDateMember"]];

[dateFormatter release];

Если вы все еще получаете null, убедитесь, что ваш jsonElement действительно имеет значение.

0 голосов
/ 07 марта 2012

Вы немного отформатировали:

formatter.dateFormat = @"MM/d/yyyy hh:mm a";

Вы можете найти список поддерживаемых форматов здесь .

Также, если вы не используете ARC, чем autorelease NSLocale:

formatter.locale = [[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease];
...