我不知所措。我有一个传递给UIDatePicker的NSDate。当我被设置为东部时区时,一切都很好。
当我设置为中央时,日期选择器会将时间显示为关闭1小时。
所以,如果我打开我的NSLog,这就是我展示的内容:
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只想在东方显示。我认为我没有任何设置可以做到这一点。
答案 0 :(得分:6)
我做了一些搜索。如果您使用正确的搜索字词,这肯定会有所帮助。
无论如何,我在iPhoneDevSDK上找到答案 - http://www.iphonedevsdk.com/forum/iphone-sdk-development/52533-uidatepicker-bug-ios-4-a.html - UIDatePicker错误。
看起来可能存在UIDatePicker错误。
我在设置选择器之前将其添加到我的代码中,它解决了问题。
datePicker.timeZone = [NSTimeZone localTimeZone];
没有问题(暂时)。