Tengo este bloque de código para leer en la especificación de fecha/hora ISO 8601. El problema es que, por alguna razón, el mes no funciona. Cada vez que lo convierto, el mes es "01". ¿Qué estoy haciendo mal?NSDateFormatter parece tener el mes incorrecto
NSDateFormatter *UTCDateFormat = [[NSDateFormatter alloc] init];
[UTCDateFormat setDateFormat:@"yyyy-MM-DD'T'HH:mm:ss'Z'"];
[UTCDateFormat setTimeZone:[NSTimeZone timeZoneWithName:@"UTC"]];
[UTCDateFormat setCalendar:[[[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar] autorelease]];
[UTCDateFormat setLocale:[[[NSLocale alloc] initWithLocaleIdentifier:@"en_US"] autorelease]];
NSLog(@"%@", [UTCDateFormat dateFromString:dateString]);
Así, por ejemplo, si DateString era:
@"2002-03-12T21:13:27Z"
mi salida sería:
2002-01-12 21:13:27 +0000
cosas que ya he intentado:
- MM cambiado a LL
- Probado sin setCalendar/setLocale
- intentado con 'alrededor de -
- posición de MM cambiada a otros lugares. Nunca cambia nada.
- Visto todo el SO y parece funcionar para todos los demás.
Esto puede no cambiar nada, pero creo que el especificador de formato 'DD' debe ser' dd'. – dasblinkenlight