Подтвердить что ты не робот

Как преобразовать строку в NSDate в iphone?

Я получаю ниже даты с сервера, теперь хочу преобразовать строку в дату.

Ср, 08 июн. 2011 11:58 вечера EDT

Но я не могу добиться успеха, пожалуйста, дайте мне совет. Благодаря

4b9b3361

Ответ 1

How-To: преобразовать строку в NSDate

В Objective-C вы обычно не конвертируете строку в объект NSDate. Простым способом сделать это является использование объекта NSDateFormatter. Он предоставляет метод dateFromString, который преобразует строку в объект NSDate. Однако вам нужно указать NSDateFormatter формат, в котором будет находиться дата. См. Ниже пример:

NSDateFormatter *df = [[NSDateFormatter alloc] init];
[df setDateFormat:@"yyyy-MM-dd HH:mm:ss a"];
NSDate *myDate = [df dateFromString: myDateAsAStringValue];

И читайте о EDT - Eastern Daylight Time Я думаю, было бы лучше, если вы измените EDT на -0004.

Ответ 2

ViTo в основном отвечает на это, но точный формат, который вы смотрите на строку, которую вы интересуете, это:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"EEE, dd MMM y hh:mm a zzz"];
NSLog(@"Date: %@", [dateFormatter dateFromString:@"Wed, 08 Jun 2011 11:58 pm EDT"]);

Посмотрите шаблоны формата даты. Я добавляю это, потому что сразу не было видно, где найти описание шаблона.