Я создаю приложение, которое нужно запустить на 10.4 и выше. Очень важно иметь строку даты, которая отформатирована правильно. Когда я запускаю свою программу в отладке 10.5, все хорошо; Я получаю дату, которая точно так же, как я хочу:Проблемы с NSDateFormatter между версиями 10.4 и 10.5
Jul 13, 2010 16
16, являющийся часом без минут, который мне особенно нужен. Затем, когда я запускаю его в 10.4 я получаю это:
07/13/10
Мой код, чтобы произвести эту дату выглядит следующим образом:
NSDateFormatter *format = [[NSDateFormatter alloc] init];
[format setDateFormat:@"MMM dd, yyyy HH"];
NSDate *newNow = [[NSDate alloc] init];
NSString *dateString = [format stringFromDate:newNow];
После прочтения некоторой соответствующей документации (ссылка ниже), похоже, 10,4 имеет уникальный способ форматирования, который отличается от 10.3, 10.5 и 10.6. Процитировать ссылку:
«Строка формата использует шаблоны формата из стандарта Unicode (эта ссылка относится к версии tr35-6 для Mac OS X v10.5, для Mac OS X v10.4 используется версия tr35-4) «.
Я просмотрел документацию, и, похоже, мой формат Unicode в порядке, но я все еще получаю этот нечетный результат.
Любая помощь?
Это абсолютно трюк. Для любого другого, кто должен попробовать это, я бы добавил, что вам нужно разместить // [NSDateFormatter setDefaultFormatterBehavior: NSDateFormatterBehavior10_4]; перед всем остальным, включая ресурсы alloc и init. –