Проблема с форматированием NSDateFormatting в ObjectiveC

#objective-c #nsdate #nsdateformatter

#objective-c #nsdate #nsdateformatter

Вопрос:

У меня есть следующий фрагмент кода,

 NSDate *date = nil;
NSString *departureTime = @"Mon Oct 24 00:00:00 GMT 2011";
NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
[df setDateFormat:@"EEE MMM dd hh:mm:ss GMT yyyy"];
date = [df dateFromString:departureTime];
[df release];

NSLog(@"Date : %@", date);
  

Я всегда получаю nil,
что не так в этом коде?

Ответ №1:

При настройке формата даты формат часового пояса неверен.

Измените строку следующим образом:

 [df setDateFormat:@"EEE MMM dd hh:mm:sss Z yyyy"];
  

Ответ №2:

Вы получаете ноль только из-за установленного вами формата даты -> «EEE MMM dd hh: mm: ss GMT гггг»

Если вы не можете указать правильный формат для даты, он не предоставит вам действительный вывод.

Для получения допустимого параметра формата для получения даты в вашем формате для нажмите меня