5

我很茫然。我有一个 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 只想在东部显示。我不认为我有任何东西可以做到这一点。

4

1 回答 1

6

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

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

看起来可能存在 UIDatePicker 错误。

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

datePicker.timeZone = [NSTimeZone localTimeZone];

没有更多的问题(现在)。

于 2010-08-26T16:21:12.610 回答