2012-06-24 13 views
7

tengo una cadena tomada de una respuesta HTTP cabecera campo "Fecha" en este formato:Http Fecha de NSDate

"Sun, 24 Jun 2012 16:34:51 GMT" 

lo que quiero es convertir esta cadena en un objeto NSDate. Para este ámbito he instanciado un NSDateFormatter utilizando varios formatos:

[dateFormatter setDateFormat:@"EEE',' dd' 'MMM' 'yyyy HH':'mm':'ss zzz"]; 
[dateFormatter setDateFormat:@"EEE, dd MMM yyyy HH:mm:ss zzz"]; 
[dateFormatter setDateFormat:@"EEE',' dd' 'MMM' 'yyyy HH':'mm':'ss 'GMT'"]; 

pero cuando imprimo la cadena a partir de la fecha usando:

[dateFormatter dateFromString:date] 

recibiré:

(null) 

donde estoy haciendo ¿incorrecto?

+0

El resultado es aún (nulo). Creo que el error está en el formato del mes "MMM". Traté de formatear "24 jun 2012" con el formato "dd MMM yyyy" y el resultado es el mismo (nulo). – LuckyStarr

+0

El resultado es aún (nulo) – LuckyStarr

+0

bien este lo he probado y funciona: [dateFormatter setDateFormat: @ "EEE", "dd MMM aaaa HH: mm: ss zzz"]; si todavía no obtiene ningún resultado, entonces hay algo más que está equivocado – Pfitz

Respuesta

8

No estoy seguro de entender el problema, como su propio código parece funcionar bien para mí:

NSString *dateStr = @"Sun, 24 Jun 2012 16:34:51 GMT"; 

NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; 
[dateFormatter setDateFormat:@"EEE',' dd' 'MMM' 'yyyy HH':'mm':'ss zzz"]; 

NSDate *date = [dateFormatter dateFromString:dateStr]; 

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

que da a esta salida:

Fecha: 2012-06-24 16:34 : 51 +0000

A menos que haya malinterpretado su pregunta, este es el resultado correcto.

+5

El problema era que carecía de dos líneas de código: NSLocale * usLocale = [[NSLocale alloc] initWithLocaleIdentifier: @ "en_US"]; [dateFormatter setLocale: usLocale]; – LuckyStarr

+0

Esta respuesta no me funciona, me muestra ningún valor para la fecha – booker

+1

@booker Si se encuentra en otro país que no sea EE. UU., Debe establecer el local de 'NSDateFormatter' en en_US. – KudoCC

Cuestiones relacionadas