2014-02-04 3 views
0

У меня проблема с NSDateFormatter разбор строки, исходящей из Интернета.NSString to NSDate с setDateFormat

Я разбираю даты как строку и преобразую их в NSDate. Проблема заключается в выборе правильной строки формата.

сгенерированным даты имеют следующие «формат»:

Feb 04, 2014 8:00 AM ET 

, но я не нашел правильный формат, чтобы преобразовать их в NSDate

Я попытался с: EEE dd, yyyy hh:mm a, но он не работает ,

Код прост:

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE dd, yyyy hh:mm a"]; 
NSDate *articleDate = [formatter dateFromString:articleDateString]; 

Любая идея?

ответ

1

Try ниже кода, чтобы преобразовать ваш NSString в NSDate

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"MMM dd, yyyy hh:mm a 'ET'"]; 
[dateFormatter setTimeZone:[NSTimeZone timeZoneWithAbbreviation:@"GMT+0:00"]]; 
NSDate *articleDate = [dateFormatter dateFromString:@"Feb 04, 2014 8:00 AM ET"]; 
NSLog(@"-->%@",articleDate); 
+0

Хорошо .. могу ли я использовать этот метод в другом формате даты? я пытался использовать для: Sun, 2 Feb 2014 23:30:00 EDT ... -> EEE, dd MMM yyyy HH: mm: ss 'EDT' .. ??? – arcangel06

+0

Да .. но вам нужно изменить формат даты, когда ваша строка меняется –

0

Используя эту страницу: http://docs.oracle.com/javase/7/docs/api/java/text/SimpleDateFormat.html

Изменить «ЕЕЕ» в «МММ» и добавить «г» в конце, чтобы поймать свой часовой пояс.

«EEE» - это день недели, например, «Tue», а не месяц.

+0

Спасибо .. но снова не работает. я использовал: «МММ дд, гггг ч: мм аз» «МММ дд, гггг ч: мм в ZZZ» «МММ дд, гггг чч: мм AZ» «МММ дд, гггг чч : mm a zzz " – arcangel06