NSDateFormatter не работает для даты Twitter

Я пытаюсь отформатировать дату, которую я получаю из Twitter, используя библиотеку STTwitter.

Однако код, который я пробовал до сих пор, не сработал.

Код для получения даты из твиттера:

NSString *dateString = [status valueForKey:@"created_at"]; 

Это возвращает время, дату, часовой пояс и год, в который был сделан твит, который выглядит грязным.

Я попытался использовать следующий код, чтобы преобразовать это и сделать его более аккуратным:

 NSDateFormatter *dateFormatter =[[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"MMddHHmm"]; NSDate *dateFromString = [dateFormatter dateFromString:dateString]; NSLog(@"%@", dateFromString); dateFormatter =[[NSDateFormatter alloc]init]; [dateFormatter setDateFormat:@"dd MMMM' at 'hhmm a"]; NSString *mydate=[dateFormatter stringFromDate:dateFromString]; 

Затем попытайтесь поместить результат в текстовую метку:

 cell.detailTextLabel.text = my date; 

Ive пробовал много разных вариантов форматирования даты, но никто не работал, и я понятия не имею, почему.

Спасибо за вашу помощь 🙂

    3 Solutions collect form web for “NSDateFormatter не работает для даты Twitter”

    Формат даты, который вы используете, даже не закрывает строку даты, используемую в результате, что-то вроде Fri Nov 18 20:35:49 +0000 2011 .

     NSString *dateStr = @"Fri Nov 18 20:35:49 +0000 2011"; NSDateFormatter *dateFormatter= [NSDateFormatter new]; dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"en_US_POSIX"]; [dateFormatter setDateFormat:@"EEE MMM dd HH:mm:ss Z yyyy"]; NSDate *date = [dateFormatter dateFromString:dateStr]; 

    Реальный трюк в используемой локали, поскольку дата локализована на английском языке.

    Для этого STTwitter имеет категорию :

     NSString *s = [tweet valueForKey:@"created_at"]; NSDate *date = [[NSDateFormatter stTwitterDateFormatter] dateFromString:s]; 

    Я создал сущность с реализацией Swift: https://gist.github.com/appzzman/62339fcd10bbe8fce256 Он берет дату Twitter и позволяет указать выходной формат даты.

     import UIKit func parseTwitterDate(twitterDate:String, outputDateFormat:String)->String?{ let formatter = NSDateFormatter() formatter.dateFormat = "EEE MMM dd HH:mm:ss Z yyyy" var indate = formatter.dateFromString(twitterDate) var outputFormatter = NSDateFormatter() outputFormatter.dateFormat = "hh:mm a dd:MM:yy" var outputDate:String? if let d = indate { outputDate = outputFormatter.stringFromDate(d) } return outputDate; } var str = "Wed Sep 02 19:38:03 +0000 2009" var outputDateFormat = "hh:mm a dd:MM:yy" parseTwitterDate(str, outputDateFormat) 
    Interesting Posts

    RestKit Вложенный объект одного типа – ошибка коллекции JSON

    UIColor colorWithPatternImage: проблемы с прозрачностью в сепараторе UITableViewColor

    Отсутствует файл прав

    Рисование CGImage в контекст Bitmap, с UIBezierPath, вписанным в контекст заранее

    Как настроить формат Clang для стиля Allman для кодирования iOS?

    iOS10 "Показать больше" "Показать меньше" ошибка

    iCloud drive – возможно ли доступ к файлам пользователей

    Аналоговые часы с UIImages для рук?

    Protobuf против двоичных дисков для сетевой торговли в iOS-игре

    Как установить непрозрачность на фоне UICollectionView без влияния непрозрачности UICollectionViewCell?

    iOS – как получить класс делегата

    Проверьте, работает ли приложение или пользовательский интерфейс тестирования

    Можете ли вы использовать NSManagedObject за пределами его выполнения?

    Восстанавливать быстрый просмотр Instagram?

    Основная версия Xcode 7 Sprite Kit Atlas Bug

    PhoneC: Разработка iOS проста с помощью XCode, Swift3, UITableView, cocatouch, давайте создадим приложения для iPhone, iPad и Macbook.