Кажется, у NSDateFormatter неправильный месяц

У меня есть этот блок кода для чтения в спецификации даты и времени ISO 8601. Проблема в том, что месяц почему-то не работает. Каждый раз, когда я конвертирую его, месяц "01". Что я делаю не так?

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]);

Так, например, если dateString было:

@"2002-03-12T21:13:27Z" 

, мой результат был бы:

2002-01-12 21:13:27 +0000

Что я уже пробовал:

  • Изменен MM на LL
  • Пробовал без setCalendar / setLocale
  • попробовал с 'вокруг -
  • переключил положение MM на другие места. Это никогда ничего не меняет.
  • Осмотрел ТАК повсюду, и, похоже, он работает для всех остальных.
5
задан Kivak Wolf 13 February 2012 в 20:38
поделиться