Su formato de fecha @"yyyy-MM-dd'T'HH:mm:ss'Z'"
significa que está buscando un carácter literal "Z
" al final de la cadena. Sin embargo, la cadena es:
@"2011-07-20T23:59:00-07:00"
no veo un "Z
" no, ¿verdad? Por lo tanto, la fecha vuelve como nil
porque su cadena no coincide con el formato especificado.
De acuerdo con la Date Formatting Patterns documentation, usted está probablemente en busca de la cadena de formato de:
@"yyyy-MM-dd'T'HH:mm:ssZZ"
Sin embargo, aun que podrían no funcionar, porque si usted nota que su cadena de origen tiene dos puntos (" :
") entre las horas y los minutos del desplazamiento de la zona horaria. No hay un especificador de zona horaria que tenga en cuenta eso. Si ese es realmente el formato en el que ROR devuelve la fecha, entonces ROR está equivocado.
Desafortunadamente, Rails hace exactamente eso ... devolviendo -07: 00 en lugar de -0700. Esto es una mierda Saca el colon y todo está bien. – wgpubs
@wgpubs si eliminó todos los dos puntos, podría usar '@" aaaa-MM-dd'T'HHmmssZZ "' como cadena de formato. –
Fui con algo similar ... eliminando los últimos dos puntos de la cadena (siempre está en la misma posición en relación con la longitud de la cadena). Su solución parece un poco más fácil y directa, así que puedo ir con eso. Gracias – wgpubs