Строка в NSDate, затем обратно в строку - PullRequest
0 голосов
/ 28 марта 2012

У меня есть дата в формате NSString со следующим форматом:

2012-03-27 14:43:22 +0000 //this is a string

Я хочу как-то преобразовать это в: March 27

Поэтому я решил, что способ сделать это - преобразовать эту строку в NSDate, затем отформатировать новую NSDate в мой нужный формат, затем вернуться к строке, но я получаю нулевой вывод:

NSString *date=[sectionInfo name];
NSLog(@"date:%@", date);
NSDateFormatter *k= [[NSDateFormatter alloc] init];
[k setDateFormat:@"yyyy-mm-DD hh:mm:ss a"];
NSDate *d=[k dateFromString:date];
NSLog(@"%@", d);

NSDateFormatter *df = [NSDateFormatter new];
[df setDateFormat:@"MMMM dd"];
NSString *dateString=[df stringFromDate:d];
NSLog(@"dateString:%@", dateString);

Вывод:

date:2012-03-28 14:43:22 +0000
(null)
dateString:(null)

Что я делаю не так?

Ответы [ 2 ]

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

Вы должны иметь заглавную HH в вашем формате, также измените a на z, например:

[k setDateFormat:@"yyyy-mm-DD HH:mm:ss z"];
1 голос
/ 28 марта 2012

Я полагаю, ваша строка формата должна быть "yyyy-MM-dd HH:mm:ss Z"

Кроме того, попробуйте использовать метод getObjectValue:forString:range:error: вместо dateFromString: и посмотрите на возвращенную ошибку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...