Ho questo blocco di codice da leggere nella specifica di data/ora ISO 8601. Il problema è che per qualche ragione, il mese non funziona. Ogni volta che lo converto, il mese è "01". Che cosa sto facendo di sbagliato?NSDateFormatter sembra avere il mese sbagliato
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]);
Così, per esempio, se dateString era:
@"2002-03-12T21:13:27Z"
mia uscita sarebbe:
2002-01-12 21:13:27 +0000
Le cose che ho già provato:
- Cambiato MM LL
- Provato senza setCalendar/setLocale
- provato con 'intorno al -
- posizione commutata di MM intorno ad altri luoghi. Non cambia mai nulla.
- Sembra tutto SO e sembra funzionare per tutti gli altri.
Questo non può cambiare nulla, ma penso che l'identificatore di formato 'DD' dovrebbe essere' dd'. – dasblinkenlight