iphone UIDatePicker在中央时区显示错误的日期

时间:2010-08-25 23:31:12

标签: iphone cocoa-touch iphone-sdk-4.0.1

我不知所措。我有一个传递给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只想在东方显示。我认为我没有任何设置可以做到这一点。

1 个答案:

答案 0 :(得分:6)

我做了一些搜索。如果您使用正确的搜索字词,这肯定会有所帮助。

无论如何,我在iPhoneDevSDK上找到答案 - http://www.iphonedevsdk.com/forum/iphone-sdk-development/52533-uidatepicker-bug-ios-4-a.html - UIDatePicker错误。

看起来可能存在UIDatePicker错误。

我在设置选择器之前将其添加到我的代码中,它解决了问题。

datePicker.timeZone = [NSTimeZone localTimeZone];

没有问题(暂时)。