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];
Больше никаких проблем (пока).