изменить формат даты в iPhone

Я пробую это с последних двух часов и окончательно оставил это для вас, парни: P

Мне нужно преобразовать этот String Mon, 14 May 2012, 12:00:55 +0200 в Date dd/mm/yyyy hh:ss format ..

Любая помощь в достижении цели будет действительно оценена.

Что я пробовал

Я попытался использовать NSDateFormatter, но я не могу определить точный формат указанной даты. Это [dateFormatter setDateFormat:@"EEEddMM,yyyy HH:mm:ss"]; как я пробовал и многие другие форматы тоже

Например:

  NSString *finalDate = @"Tue, 29 May 2012, 14:24:56 +0200"; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; [dateFormatter setDateFormat:@"EEEddMM,yyyy HH:mm:ss"]; NSDate *date = [dateFormatter dateFromString:finalDate]; 

Здесь дата alwasys приходит как ноль

  • Как правильно преобразовать заголовок Last-Modified из ответа HTTP на NSDate на iOS
  • Разница между «YYYY» и «yyyy» в NSDateFormatter
  • Преобразование формата даты в неверной дате даты xcode
  • IOS 6 NSDateFormatter
  • NSDateFormatter не работает для даты Twitter
  • Плохая конвертация строки в NSDate
  • NSDate, но не NSTime, как преобразовать строковое представление времени (без даты)
  • Почему выделение или инициализация NSDateFormatter считается «дорогим»?
  • 3 Solutions collect form web for “изменить формат даты в iPhone”

    Самая важная часть форматирования даты часто забывается, скажите NSDateFormatter входной язык:

     NSDateFormatter *dateFormatter = [NSDateFormatter new]; [dateFormatter setDateFormat:@"EEE, dd MMMM yyyy, HH:mm:ss Z"]; dateFormatter.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"EN"]; NSDate *date = [dateFormatter dateFromString:@"Mon, 14 May 2012, 12:00:55 +0200"]; NSLog(@"date: %@", date); 

    Я проверил вывод: date: 2012-05-14 10:00:55 +0000

    Имейте в виду, что HH в форматировании даты находится в течение 24hr .

    Теперь я бы предложил не использовать фиксированную схему вывода, а использовать один из NSDateFormatterStyle :

     [dateFormatter setDateStyle:NSDateFormatterShortStyle]; [dateFormatter setTimeStyle:NSDateFormatterShortStyle]; NSString *dateString = [dateFormatter stringFromDate:date]; NSLog(@"date: %@", dateString); 

    Который на американском английском выйдет: 5/14/12 12:00 PM


    Этот код действителен для ARC если вы не используете ARC добавляете autorelease в NSLocale и освобождаете NSDateFormatter после того, как вы закончите с ним.

     NSDateFormatter *inputFormatter = [[NSDateFormatter alloc] init]; [inputFormatter setDateFormat:@"dd/mm/yyyy hh:ss"]; NSString *formatterDate = [inputFormatter stringFromDate:inDate]; [inputFormatter release]; 

    получить информацию обо всех форматах даты. Моя ссылка в блоге http://parasjoshi3.blogspot.in/2012/01/date-formate-info-for-iphone-sdk.html

    а также небольшая функция внизу.

     -(NSString *) dateInFormat:(NSString*) stringFormat { char buffer[80]; const char *format = [stringFormat UTF8String]; time_t rawtime; struct tm * timeinfo; time(&rawtime); timeinfo = localtime(&rawtime); strftime(buffer, 80, format, timeinfo); return [NSString stringWithCString:buffer encoding:NSUTF8StringEncoding]; } 

    ////////Подобно…….

     NSString *mydate = [self dateInFormat:@"%Y%m%d-%H%M%S"]; 

    надеюсь, это поможет вам ….

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