Правильный способ конвертировать NSString в NSDate на iOS? - PullRequest
3 голосов
/ 01 августа 2011

Я использовал этот метод для преобразования обычного объекта NSString в NSDate, но попытался отправить обновление в Apple, и это было отклонено. Какой еще способ сделать это в iOS?

NSString *date_str = @"2011-08-12T12:20:00Z";
NSDate *the_date = [NSDate dateWithNaturalLanguageString:date_str locale:[[NSUserDefaults standardUserDefaults] dictionaryRepresentation]];

Заранее спасибо!

1 Ответ

9 голосов
/ 01 августа 2011

Используйте NSDateFormatter.Ниже приведен краткий пример:

...
NSString* dateString = "2011-08-12T12:20:00Z";
NSDateFormatter* fmt = [NSDateFormatter new];
[fmt setDateFormat:"yyyy-MM-dd'T'HH:mm:ss'Z'"];
NSDate* date = [fmt dateFromString:dateString];
[fmt release];
...

Обратите внимание, что согласно Техническому стандарту Unicode # 35 , NSDateFormatter изначально не поддерживает однобуквенные идентификаторы часовых поясов (т. Е. Z для времени зулу).

...