5

私は途方に暮れています。UIDatePicker に渡される NSDate があります。東部時間帯に設定すると、すべて問題ありません。

中央に設定すると、日付ピッカーは時刻を 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 には「Today 6:37 PM」と表示されます。

タイムゾーンを東部にリセットすると、次のようになります。

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 には「Today 6:37 PM」と表示されます。

誰かがこれを前に見たことがあるかどうか疑問に思っています。タイムゾーンまたは夏時間の問題のようですが、追跡できないようです。

どんな助けでも大歓迎です。

編集:これでさらにテストを行いましたが、どのタイムゾーンでも問題が発生するようです。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 に答える