2010-05-10 16 views
5

estoy Recogida de una RSS, en la que recibo el siguiente sello Fecha:No se puede analizar utilizando Fecha NSDateFormatter

2010-05-10T06:11:14.000Z 

Ahora estoy usando NSDateFormatter para analizar este sello de fecha y hora.

[parseFormatter setDateFormat:@"yyyy-MM-dTH:m:s.z"]; 

Pero no su trabajo muy bien si acaba de quitar la parte de fecha y hora que funcione para la fecha [parseFormatter setDateFormat:@"yyyy-MM-d"]; Pero si añado el resto de las cosas devuelve nil.

¿Alguna idea?

Gracias de antemano ....

Respuesta

26

Necesitas analizar los valores cero acolchadas para d, H, m, s

tiene que escapar el literal T como 'T'

Es necesario para analizar la parte fraccional de los segundos con SSS

puede aceptar un literal Z con 'Z' o usar Z mayúscula para tratar de analizar la zona horaria, pero utiliza RSS norma separada.

@"yyyy-MM-dd'T'HH:mm:ss.SSS'Z'"

Date Format Patterns

+0

Su perfecto estado de funcionamiento, su sugerencia realmente funcionó, la zona se analiza y su regreso 0005 ahora, y T se escapó . Gracias otra vez. :) – Ansari

0

De memoria de que he tenido este problema en el pasado también. Un par de cosas para probar:

  1. sustituir a la "T" en su feed RSS con un espacio (y, obviamente, cambiar la cadena de formato de fecha también).

  2. Su alimentación RSS tiene dígitos rellenos, mientras que su cadena de formato no. Prueba esto "aaaa-MM-ddTHH: mm: ss.Z". De acuerdo con este enlace, esa "z" debe ser capilizada. http://www.stepcase.com/blog/2008/12/02/format-string-for-the-iphone-nsdateformatter/

  3. Elimine la información de la zona horaria de la fuente RSS y analícela manualmente. Me parece recordar esto causándome problemas.

+0

Gracias por el enlace a mano, y también por su sugerencia :) – Ansari

Cuestiones relacionadas