У меня есть интегрированный синтаксический анализатор RSS в приложение iOS. Дата публикации опубликована в одном из полей полученных данных. Я могу разобрать эту дату, если в качестве языкового стандарта для iPhone используется английский-США. Но когда я изменяю язык iPhone на испанский, его невозможно преобразовать в объект NSDate.
Преобразование NSString в NSDate в Spanish Locale
Вот код, который я написал:
NSString* dt = @"Fri, 26 Jun 2015 00:00:00";
NSDateFormatter* dtFormatter = [[NSDateFormatter alloc] init];
//set the locale to spanish
[dtFormatter setLocale:[[NSLocale alloc] initWithLocaleIdentifier:@"es"]];
[dtFormatter setDateFormat:@"EEE, dd MMM yyyy hh:mm:ss"];
NSDate* conDt = [dtFormatter dateFromString:dt ];
NSLog(@"%@", conDt); //This value is always (null)
Даже после установки локали «эс» (который является испанский), его до сих пор не в состоянии разобрать его правильно. Как преобразовать строку в дату в iOS?
Точно. Установка идентификатора локали на «es» имеет смысл только в том случае, если вы знаете, что сервер управляется испанской компанией, которая по некоторым причинам сообщает о всех датах в испанском формате, что было бы очень необычно. – gnasher729