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

标签 iphone cocoa-touch iphone-sdk-4.0.1

我很茫然。我有一个 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只想以东方显示一样。我认为我没有设置任何可以做到这一点的东西。

最佳答案

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

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

看起来可能存在 UIDatePicker 错误。

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

datePicker.timeZone = [NSTimeZone localTimeZone];

没有更多问题(暂时)。

关于iphone UIDatePicker 在中央时区显示错误的日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3571036/

相关文章:

iphone - CATransform3DTranslate 之后的 CATransform3DRotate

ios - 为 Xcode 项目创建单元测试导致错误 : Showing Recent Messages :-1: Undefined symbol: _OBJC_CLASS_$_FBSDKCodelessIndexer

objective-c - 选择器 ID 对参数类型敏感吗?

iphone - 如何从 iPhone 应用程序检测电池是否正在充电?

ios - UITextField 的 UIToolbar 附件 View 无响应

iphone - 使用 CAAnimation 制作图像动画

ios - 在 loadView 中确定正确的大小

objective-c - 为什么我不必释放这些对象?

iphone - Spiky Memory "Healthy"是 App 的吗?