iphone UIDatePicker показывает неверную дату в центральном часовом поясе - PullRequest
5 голосов
/ 26 августа 2010

Я в растерянности.У меня есть NSDate, который передается UIDatePicker.Когда я настроен на восточный часовой пояс, все в порядке.

Когда я установлен на Центральный, средство выбора даты показывает, что время выключено на 1 час.

Так что, если явключите мои NSLogs, вот что я показываю:

2010-08-25 18:15:19.317[59299:207] ---- into the picker --->2010-08-25 17:37:51 -0500
2010-08-25 18:15:19.318[59299:207] Local Time Zone America/Chicago
2010-08-25 18:15:19.318[59299:207] 2010-08-25 17:37:51 -0500
2010-08-25 18:15:19.319[59299:207] current locale: en_US

Но UIDatePicker отображает «Сегодня 6:37 PM».

Если я переустановлю свой часовой пояс на восточный, я получу это:

2010-08-25 19:26:11.551[59521:207] ---- into the picker --->2010-08-25 18:37:51 -0400
2010-08-25 19:26:11.552[59521:207] Local Time Zone America/New_York
2010-08-25 19:26:11.552[59521:207] 2010-08-25 18:37:51 -0400
2010-08-25 19:26:11.553[59521:207] current locale: en_US

И UIDatePicker отображает «Сегодня 6:37 вечера».

Просто интересно, видел ли кто-нибудь это раньше.Это похоже на проблему с часовым поясом или переходом на летнее время, но я не могу отследить ее.

Любая помощь будет принята.

edit: я провел еще несколько испытаний с этим, и этоКажется, что любой часовой пояс вызывает проблемы.Это почти как UIDatePicker хочет отображать только на восточном.Я не думаю, что у меня есть что-то, что могло бы сделать это.

1 Ответ

6 голосов
/ 26 августа 2010

Я сделал еще несколько поисков.Это действительно помогает, если вы используете правильные условия поиска.

Во всяком случае, я нашел ответ на iPhoneDevSDK - http://www.iphonedevsdk.com/forum/iphone-sdk-development/52533-uidatepicker-bug-ios-4-a.html - ошибка UIDatePicker.

Похоже, что может бытьОшибка UIDatePicker.

Я добавил это в свой код перед установкой средства выбора, и это устранило проблему.

datePicker.timeZone = [NSTimeZone localTimeZone];

Больше никаких проблем (пока).

...