как отображать дату и время из RSS-канала в iphone - PullRequest
0 голосов
/ 05 мая 2011

Я получаю данные из фидера RSS. Данные содержат заголовок, описание, дату и время.

Я получаю дату «Чт, 21 апреля 2011 14:23:41 +0100» от rss feeder. Я хотел удалить +0100 с даты и отобразить ее. Может ли кто-нибудь помочь мне с этим.

Спасибо заранее.

Ответы [ 2 ]

3 голосов
/ 05 мая 2011

Я бы порекомендовал другой подход. Используйте NSDateFormatter, чтобы проанализировать эту дату и вывести ее с другим форматером. Как вы, наверное, знаете, есть люди, живущие в неанглийских странах, и, скорее всего, им нравятся даты, отформатированные в их местном стиле.
И если читатель канала находится в другом часовом поясе, чем сервер (или автор?), Время все равно будет неправильным.

Примерно так будет отображаться фактическая дата и время в местном формате. Я бы порекомендовал использовать что-то подобное.

NSString *str = @"Thu, 21 Apr 2011 14:23:41 +0100";

NSDateFormatter *inputFormatter = [[[NSDateFormatter alloc] init] autorelease];
[inputFormatter setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"] autorelease]];
[inputFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss z"];

NSDate *date = [inputFormatter dateFromString:str];

NSDateFormatter *outputFormatter = [[[NSDateFormatter alloc] init] autorelease];
[outputFormatter setDateStyle:NSDateFormatterLongStyle];
[outputFormatter setTimeStyle:NSDateFormatterMediumStyle];
NSString *outStr = [outputFormatter stringFromDate:date];
0 голосов
/ 05 мая 2011

Вот как вы можете это сделать

NSString * str = @"Thu, 21 Apr 2011 14:23:41 +0100";
[str substringToIndex:[str length] - 6];

почему [длина строки] - 6], потому что длина "+0100" равна 6.

Удачи!

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