Дни рождения в адресной книге iOS (контакты) с часовым поясом Новой Зеландии - PullRequest
1 голос
/ 06 ноября 2011

У меня странная проблема с датами рождения, полученными из адресной книги, когда установлен часовой пояс Новой Зеландии.Когда я форматирую дату, используя NSDateFormatter, она показывает неправильную дату (всегда плюс один день).

Итак, у меня есть ABRecordRef и я получаю дату рождения следующим образом:

NSDate *birthday = objc_unretainedObject(ABRecordCopyValue(record,
                                                             kABPersonBirthdayProperty));

Теперьполучите локализованную строку с датой, которую я сделал следующим образом:

NSString *s = [NSDateFormatter localizedStringFromDate:birthday dateStyle:NSDateFormatterShortStyle timeStyle:NSDateFormatterNoStyle];

Например, день рождения контакта - 5 октября 1975 года (он отображается в контактной информации в адресной книге), но код вышепроизводит 10/10/1975 Это всегда на один день позже.И, кажется, это происходит только тогда, когда я устанавливаю часовой пояс для Новой Зеландии.Я попробовал это на устройстве, установил часовой пояс в Новой Зеландии, и это происходит, или даже в симуляторе iPhone, когда я установил часовой пояс моего Mac в Новой Зеландии.

Буду очень признателен за любые отзывы или помощь по этому поводу,Я не уверен, столкнулся ли я с ошибкой iOS или я что-то не так делаю (например, может быть, мне нужно использовать определенный часовой пояс при работе с датами из адресной книги, а не пользовательский часовой пояс?).

...