iphone UIDatePicker показывает неверную дату в центральном часовом поясе

Я в растерянности. У меня есть 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 вечера".

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

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 вечера".

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

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

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

1 ответ

Решение

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

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

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

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

datePicker.timeZone = [NSTimeZone localTimeZone];

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

Другие вопросы по тегам